简单爬虫的实现
爬虫的简要介绍
爬虫就是在网络上通过伪装为用户从而从网站上下载数据
的程序或者行为。
这样的行为就好比你去别人家的时候带走了几个橘子袖中怀橘啦,合理的爬取是可以的(毕竟人家网站做着就是给人用的,但是不要耽误叔叔赚钱.jpg)
爬虫的简单实现
运用python的库
在本次教程中我们使用了 request库和beautifulsoup4库
request库:用于向网页中发送请求
,并且返回响应内容(html)
beautifulsoup4(以下简称bs4):用于分析返回的内容,将返回内容中所需要的部分提取
出来
(如果没有这两个库可以在终端中输入:)
pip install beautifulsoup4
pip install request
下载这两个库
回到python
导入这两个库
import request
from bs4 import BeautifulSoup
尝试向网页发送请求
# 向博客园的网址
urls = f"https://www.cnblogs.com/#p1"
# 定义发送请求的函数
def craw(url):
# 发送请求并且将返回值接收
r = requests.get(url)
# 输出
print(r.text, len(r.text))
craw(urls)
输出为:
处理得到的数据
可以看到输出了很多看不懂的东西,这些其实才是网页的真实面貌,我们平时看到的网页那样只是因为浏览器通过渲染而已
由于我们看不懂这些,所以我们使用了bs4库来帮助我们提取出其中我们想要的部分(其实也可以用正则,但我不熟)
# 定义了处理的函数,输出为各个文章的链接与对应的标题
def parse(html):
# 运用bs4的函数进行处理
soup = BeautifulSoup(html, "html.parser")
# 读取类型为"post-item-title"的
links = soup.find_all("a", class_="post-item-title")
return [(link["href"], link.get_text()) for link in links]
r= requests.get(urls)
for link in parse(r.text):
print(link)
读取类型可以通过右键网页->检查来观察其中的类型
以上就完成了简单的对于网页的爬取,通过对于网页的爬取,我们可以快速的收集到我们想要的信息。但也注意不要给服务器过大的压力,毕竟一个人吃一两个橘子主人家可能无所谓,但全吃了肯定不好。所以在爬取多个网页的时候,我们可以加入time.sleep()函数,减少服务器压力。频繁并且快速的获取容易被认定为是对服务器的攻击,从而被封禁或是被限制。
标签:网页,实现,text,爬虫,bs4,html,link,简单 From: https://blog.csdn.net/qq_62780060/article/details/143864608