我们在写爬虫构建请求的时候,不可避免地要添加请求头( headers ),一般来说,我们只要添加 user-agent 就能满足绝大部分需求了
但这并不是绝对的,有些请求单单添加一个 user-agent 是不能获取到数据的,在不知道是缺少哪个请求头参数的情况下,我一般会先把所有参数全部添加上,然后再逐个排除。
如果是后面这种情况,相信大家都会有这种感觉:手动将浏览器中请求头复制粘贴然后构造成字典里的每一个 键值对 简直太TM太费时间了
所以,本文将介绍几个快速构造请求头的方法,供君选择:
正则一键替换
正则替换指的是利用 Pycharm 的 ctrl+R 替换功能,下面带大家一步一步来演示该操作,我们将浏览器的请求头复制到 Pycharm 中,如下面所示
然后按住 crtl+R,会出现上下两个输入框,然后勾选 Regx 以及 In selection 这两个选项
在上面框填入要匹配内容的正则表达式:
(.*?): (.*)
第二个填入匹配组后的格式
"$1": "$2",
其中 "$$1 ", "$2" 分别表示匹配组,即匹配成功的原文
填完之后,选中我们刚复制的内容,点击 Replace all 按钮即可
最后在外层加上 headers = {} 就完成我们要构造的格式了
Pycharm 快捷键
这里再介绍一种利