Python headers请求头如何实现快速添加
作者:15号计划
这篇文章主要介绍了Python headers请求头如何实现快速添加,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
1、为什么要设置headers?
在请求网页爬取的时候,输出的text信息中会出现抱歉,无法访问等字眼,这就是禁止爬取,需要通过反爬机制去解决这个问题。
headers是解决requests请求反爬的方法之一,相当于我们进去这个网页的服务器本身,假装自己本身在爬取数据。
对反爬虫网页,可以设置一些headers信息,模拟成浏览器取访问网站 。
2、 headers在哪里找?
谷歌或者火狐浏览器,在网页面上点击:右键–>检查–>剩余按照图中显示操作,需要按Fn+F5刷新出网页来
有的浏览器是点击:右键->查看元素,刷新
Python爬虫中Requests设置请求头Headers的方法
注意:headers中有很多内容,主要常用的就是user-agent 和 host,他们是以键对的形式展现出来,如果user-agent 以字典键对形式作为headers的内容,就可以反爬成功,就不需要其他键对;否则,需要加入headers下的更多键对形式。
代码如下
import re # 下方引号内添加替换掉请求头内容 headers_str = """ Accept: application/json, text/javascript, */*; q=0.01 Accept-Encoding: gzip, deflate, br Accept-Language: zh-CN,zh;q=0.9,en;q=0.8 Cache-Control: no-cache Connection: keep-alive Content-Length: 77 Content-Type: application/json User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1 X-Apple-App-Id: 632 X-Apple-Frame-Id: daw-10beaddd-c22f-4fd4-8aba-ef4909a721dd X-Requested-With: XMLHttpRequest """ pattern = '^(.*?):(.*)$' for line in headers_str.splitlines(): print(re.sub(pattern,'\'\\1\':\'\\2\',',line).replace(' ',''))
结果
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。