Python爬虫(四)发送带Headers的请求

如果你尝试了我在Python爬虫(二)Requests库题中讲述的response方式,发现有可能会获取不到网页源码(登陆知乎一定可以获取不到)。

不带headers的requests.get.png

这是因为什么?之前的文章里讲过,有很多网站为了防止爬虫程序爬网站造成网站瘫痪,所以我们的程序在模拟浏览器访问这些网站时,需要携带一些headers头部信息才能访问,最常见的有User-Agent、referer、cookie参数。
写一个简单的例子:

import requests
url = 'https://www.zhihu.com.'
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.119 Safari/537.36'}
response = requests.get(url, headers=headers)
# response.encoding = 'utf-8'
print(response.text)
带headers的requests.get.png

如果User-Agent还是不能够获取正确解码后的字符串,我们还可以再headers字典中,加入referer、cookie参数。

作者:咸甜怪
链接:https://www.jianshu.com/p/28556eec034a
来源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。