简单爬虫的实现

爬虫的简要介绍

爬虫就是在网络上通过伪装为用户从而从网站上下载数据的程序或者行为。
这样的行为就好比你去别人家的时候带走了几个橘子袖中怀橘啦,合理的爬取是可以的(毕竟人家网站做着就是给人用的,但是不要耽误叔叔赚钱.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()函数,减少服务器压力。频繁并且快速的获取容易被认定为是对服务器的攻击,从而被封禁或是被限制。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值