Requests-请求头定制
如果你想为请求添加HTTP头部,只要简单地传递一个dict给headers参数就可以了。用法如下:
#请求头定制
base_url="http://httpbin.org/"
from_data={"user":"zxw888","passwd":999}
header = {"User-Agent":"Chrome/45"}
r = requests.post(base_url+'/post',data=from_data,headers=header)
print(r.text)
Tips:很多爬虫程序都会定制 headers 来避免被封,如下面爬取知乎页面元素就设置了请求头。
举例:
没有为请求加上headers请求头时
zhihu_url = 'https://www.zhihu.com/explore'
r = requests.get(zhihu_url)
print(r.text)
结果:提示请求报错,原因是知乎网站做了发爬虫校验
<html>
<head><title>400 Bad Request</title></head>
<body bgcolor="white">
<center><h1>400 Bad Request</h1></center>
<hr><center>openresty</center>
</body>
</html>
为请求加上headers请求头时
zhihu_url = 'https://www.zhihu.com/explore'
header = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36 SE 2.X MetaSr 1.0'}
r = requests.get(zhihu_url,headers=header)
print(r.text)
结果:请求成功
响应内容
from_data={"user":"zxw888","passwd":999}
header = {"User-Agent":"Chrome/45"}
r = requests.post(base_url+'/post',data=from_data,headers=header)
#获取响应文本内容
print(r.text)
#获取响应头信息
print(r.headers)
#将响应的内容以json格式返回
print(r.json())
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。