前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python爬虫偷懒神器 — 快速构造请求头!

Python爬虫偷懒神器 — 快速构造请求头!

作者头像
Python编程与实战
发布2020-03-19 17:41:37
1.2K0
发布2020-03-19 17:41:37
举报

我们在写爬虫构建请求的时候,不可避免地要添加请求头( headers ),一般来说,我们只要添加 user-agent 就能满足绝大部分需求了

但这并不是绝对的,有些请求单单添加一个 user-agent 是不能获取到数据的,在不知道是缺少哪个请求头参数的情况下,我一般会先把所有参数全部添加上,然后再逐个排除。

如果是后面这种情况,相信大家都会有这种感觉:手动将浏览器中请求头复制粘贴然后构造成字典里的每一个 键值对 简直太TM太费时间了

所以,本文将介绍几个快速构造请求头的方法,供君选择:

正则一键替换

正则替换指的是利用 Pycharm 的 ctrl+R 替换功能,下面带大家一步一步来演示该操作,我们将浏览器的请求头复制到 Pycharm 中,如下面所示

然后按住 crtl+R,会出现上下两个输入框,然后勾选 Regx 以及 In selection 这两个选项

在上面框填入要匹配内容的正则表达式:

代码语言:javascript
复制
(.*?): (.*)

第二个填入匹配组后的格式

代码语言:javascript
复制
"$1": "$2",

其中 "$$1 ", "$2" 分别表示匹配组,即匹配成功的原文

填完之后,选中我们刚复制的内容,点击 Replace all 按钮即可

最后在外层加上 headers = {} 就完成我们要构造的格式了

Pycharm 快捷键

这里再介绍一种利用 Pycharm 快捷键替换方法,常用的快捷键还是要记住,对平常快速代码帮助很大 。

  • 第一步

还是以上面复制的请求头为例,按住 Alt 键,同时鼠标定位字典键名结束位置,如下所示,注意看键名旁边都有一个鼠标指针

  • 第二步

输入引号,然后指针再前进两步,在字典值前面输入引号。

  • 第三步

再按下 End 键,在最末尾输入引号及逗号。

最后按下 Home 键,在最前面输入引号,即大功告成!

和正则替换法一样,在最外层输入 headers = {} 即完成

postman

在浏览器中 Copy as cURL(bash) 我们要构造的请求,如下图所示

copy

然后打开 postman,选择左上角的 New 旁边的 Import 按钮 ,粘贴我们刚 copy 的内容

点击 Import, 就回到了发现请求的界面,选择发送按钮下方的 code 键,

如上图, headers 已生成,不仅支持 Python 还支持其他语言,强大?

网站一键替换

有不少网站都有这个构造功能,但是该网站是我用过的最好用的最强大的

除了能构造请求头,还能单独构造 cookies 同时自动帮我们生成请求的代码。你甚至你不用自己手写代码

同样的在浏览器中 Copy as cURL(bash) 我们要构造的请求,打开网站 https://curl.trillworks.com/

粘贴到左边框后即自动生成,快得很...

还有多种语言供你选择。

上面便是我介绍的几种方法,是不是很方便,不用再一个一个手动输入了。当然除了上面的方法之外,你也可以自己动手用代码生成,因为都是有一定规律的

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-03-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Python编程与实战 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 正则一键替换
  • Pycharm 快捷键
  • postman
  • 网站一键替换
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档