我们在写爬虫构建请求的时候,不可避免地要添加请求头( 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) 我们要构造的请求,如下图所示
然后打开 postman,选择左上角的 New 旁边的 Import 按钮 ,粘贴我们刚 copy 的内容
点击 Import, 就回到了发现请求的界面,选择发送按钮下方的 code 键,
如上图, headers 已生成,不仅支持 Python 还支持其他语言,强大
网站一键替换
有不少网站都有这个构造功能,但是该网站是我用过的最好用的最强大的
除了能构造请求头,还能单独构造 COOKIEs 同时自动帮我们生成请求的代码。你甚至你不用自己手写代码
同样的在浏览器中 Copy as cURL(bash) 我们要构造的请求,打开网站 https://curl.trillworks.com/
粘贴到左边框后即自动生成,快得很...
还有多种语言供你选择。源码私信我01获取哦
上面便是我介绍的几种方法,是不是很方便,不用再一个一个手动输入了。当然除了上面的方法之外,你也可以自己动手用代码生成,因为都是有一定规律的