自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm=1001.2014.3001.5501
有时在请求一个网页内容时,发现无论通过GET或者是POST以及其他请求方式,都会出现403错误。产生这种错误是由于该网页为了防止恶意采集信息而使用了反爬虫设置,从而拒绝了用户的访问。此时可以通过模拟浏览器的头部信息来进行访问,这样就能解决以上反爬设置的问题。下面以requests模块为例介绍请求头部headers的处理,具体步骤如下:
(1)通过浏览器的网络监视器查看头部信息,首先通过火狐浏览器打开对应的网页地址,然后按下<Ctrl + Shift + E>快捷键打开网络监视器,再刷新当前页面,网络监视器将显示如图2所示的数据变化。
图2 网络监视器的数据变化
(2)选中第一条信息,右侧的消息头面板中将显示请求头部信息,然后复制该信息,如图3所示。
图3 复制头部信息
(3)实现代码,首先创建一个需要爬取的url地址,然后创建headers头部信息,再发送请求等待响应,最后打印网页的代码信息。实现代码如下:
import requests
url = 'https://www.baidu.com/' # 创建需要爬取网页的地址
# 创建头部信息
headers = {'User-Agent':'Mozilla/5.0(Windows NT 6.1;W…) Gecko/20100101 Firefox/59.0'}
response = requests.get(url, headers=headers) # 发送网络请求
print(response.content) # 以字节流形式打印网页源码