华为云技术分享Python爬虫偷懒神器 — 快速构造请求头!

Posted 华为云官方博客

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了华为云技术分享Python爬虫偷懒神器 — 快速构造请求头!相关的知识,希望对你有一定的参考价值。

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

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

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

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

正则一键替换

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

技术图片

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

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

(.*?): (.*)

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

"$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/

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

技术图片

还有多种语言供你选择。

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

作者:华为云特约供稿开发者 Python编程与实战

以上是关于华为云技术分享Python爬虫偷懒神器 — 快速构造请求头!的主要内容,如果未能解决你的问题,请参考以下文章

10分钟教程,手把手带你安装使用抓包神器:Whistle ,内含精选爬虫专栏分享~~~

10分钟教程,手把手带你安装使用抓包神器:Whistle ,内含精选爬虫专栏分享~~~

10分钟教程,手把手带你安装使用抓包神器:Whistle ,内含精选爬虫专栏分享~~~

10分钟教程,手把手带你安装使用抓包神器:Whistle ,内含精选爬虫专栏分享~~~

零基础快速入门Python网络爬虫技术@今晚云技术社区千聊分享

华为云技术分享小白篇,认识Python最最最常用语重要的库Requests