从放弃到真香 · 2020年02月27日

Python爬虫偷懒神器 —— 一键构造请求头

我们在构建网络请求的时候,不可避免地要添加请求头(headers),以mdn学习区为例(https://developer.mozilla.org...),我们的请求头是这样的:

一般来说,我们只要添加user-agent和cookie就能满足绝大部分需求了,Python代码如下:

但是有些请求,我们要把特定的headers参数添加上才能获得正确的网络响应,不知道哪个参数是必要的情况下,就要先把所有参数都添加上,再逐个排除。

但是手动复制粘贴headers字典里的每一个键值对太费事了,一个不那么方便的解决方案:

  • 正则表达式或者直接字符串替换,把headers字符串拷贝下来,转化为字典

有没有把网络请求快速构建成Python代码的方法呢?这里给大家介绍两个:

  • 网站在线转换
  • Postman

抓取网站:https://developer.mozilla.org...

网站在线转换

1,Chrome打开开发者选项(f12),network选项卡,刷新页面,获取请求,找到页面信息对应的请求 (通过请求的名称、后缀和response来判断)

2,右键,copy,copy as cURL (bash),注意不是【copy as cURL (cmd)】

3,打开网站,https://curl.trillworks.com/,粘贴cURL (bash)到左边curl command,右边会自动出Python代码

4,生成代码如下图

5,print(response.text) 就可以打印网页源代码啦!

Postman

1,下载postman (Chrome有个postman的插件,操作应该差不多)

2,打开postman,弹出的界面可以直接关掉

3,import,paste raw text,在Chrome里复制curl(bash),粘贴到下面的对话框里,点击import按钮

4,点击send,模拟网络请求,下方可查看源代码

5,确保源代码正常后,点击code

6,左上角可以选择编程语言,右上角复制到剪贴板

大功告成!

其实我本人平时都是用第一种,网站比较稳定,基本没出现过异常;有了这个神器就不用自己再构造请求头了,先一键生成,然后再根据需求调一调就好了,十几秒钟就搞定了。建议收藏网址。

https://curl.trillworks.com/

推荐阅读
关注数
0
文章数
1
英语专业出身,立志不靠英语吃饭的技术渣男。人生苦短,我用Python,欢迎交流
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息