使用python写爬虫的时候,通常要设置请求头。
以使用requests库访问百度为例,代码如下:
import requests
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36'
}
url = 'https://www.baidu.com/' # 以访问百度为例
response = requests.get(url, headers=headers) # 在这里传入请求头
# print(response) # 得到的结果是<Response [200]>
# print(type(response)) # 查看其类型,是一个'requests.models.Response'对象,即得到响应对象
header = response.request.headers
print(header) # 查看请求头,即为上边我们设置的请求头
如果不设置请求头,则输出结果为
{‘User-Agent’: ‘python-requests/2.26.0’, ‘Accept-Encoding’: ‘gzip, deflate’, ‘Accept’: ‘/’, ‘Connection’: ‘keep-alive’}
服务器可以直接判断出是python在访问,而非人在访问,以拒绝我们的访问。