快速一键生成Python爬虫请求头
今天介绍个神奇的网站!堪称爬虫偷懒的神器!
我们在写爬虫,构建网络请求的时候,不可避免地要添加请求头(headers),以mdn学习区为例,我们的请求头是这样的:
一般来说,我们只要添加 user-agent 就能满足绝大部分需求了,Python代码如下:
importrequests headers={ #'authority':'developer.mozilla.org', #'pragma':'no-cache', #'cache-control':'no-cache', #'upgrade-insecure-requests':'1', 'user-agent':'Mozilla/5.0(WindowsNT10.0;WOW64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/75.0.3770.100YaBrowser/19.7.0.1635Yowser/2.5Safari/537.36', #'accept':'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3', #'accept-encoding':'gzip,deflate,br', #'accept-language':'zh-CN,zh-TW;q=0.9,zh;q=0.8,en-US;q=0.7,en;q=0.6', #'cookie':你的cookie, } response=requests.get('https://developer.mozilla.org/zh-CN/docs/learn',headers=headers)
但是有些请求,我们要把特定的headers 参数添加上才能获得正确的网络响应,不知道哪个参数是必要的情况下,就要先把所有参数都添加上,再逐个排除。
但是手动复制粘贴headers字典里的每一个键值对太费事了
一个不那么方便的解决方案:
用正则表达式或者直接字符串替换,把headers字符串直接转化为字典,封装成函数方便以后反复调用。
有的人喜欢用这种方法,每次复制headers信息,然后调用自己封装好的函数,但我觉得还是挺麻烦的。
那么还有没有快速一键生成Python爬虫请求头的方法呢?
这里给大家介绍两个:
- 网站在线转换
- Postman
实战演练
抓取网站:https://developer.mozilla.org...
网站在线转换
1,Chrome打开开发者选项(f12)--->network选项卡--->刷新页面,获取请求--->找到页面信息对应的请求(通过请求的名称、后缀和response内容来判断)
2,右键,copy--->copyascURL(bash),注意不是【copyascURL(cmd)】
3,打开网站,https://curl.trillworks.com/,粘贴cURL(bash)到左边 curlcommand,右边会自动出Python代码
4,生成代码如下图
5,print(response.text)就可以直接打印网页源代码啦!
Postman
1,下载postman(Chrome也有个postman的插件,操作应该差不多)
2,打开postman,弹出的界面可以直接关掉
3,import-->pasterawtext,在Chrome里复制curl(bash),粘贴到下面的对话框里,点击import按钮
4,点击send,模拟网络请求,下方可查看源代码
5,确保源代码正常后,点击code
6,左上角可以选择编程语言,右上角复制到剪贴板
大功告成!
其实我本人平时都是用第一种,网站比较稳定,基本没出现过异常;有了这个神器就不用自己再构造请求头了,先一键生成,然后再根据需求调一调就好了,几秒钟就搞定了。
以上就是快速一键生成Python爬虫请求头的详细内容,更多关于快速一键生成Python爬虫请求头的资料请关注毛票票其它相关文章!
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。