请求头转换为字典

 
 

我们在写爬虫的时候经常需要拷贝浏览器的请求头来使用,但是拷贝过来的并不是字典不能直接使用,怎么能一键转换其为字典形式呢,下面介绍几种方式:

方法一,不够优雅:

 
 

方法二

 
 

可以发现复制请求头很简单了,只要把请求头全部copy下来,然后用headers_raw_to_dict 转一下,就直接变成了dict了.

推荐方法

方法三

借助IDE的正则替换(PyCharm为例)
PyCharm中替换的快捷键是Ctrl+R,选中Regex正则模式

 
源匹配为 (.*): (.*)$
替换匹配为 "$1": "$2",

方法四:Chrome插件Postman

Postman是很强大的调试工具,但是目前Google已经放弃了Chrome App,目前在商店里只能直接搜索到插件。

 
 

你可以安装插件以后点击链接获取Postman App:

 
 
 
 

开启Postman Interceptor,访问的任意请求都会被Postman截获。
在Postman点击请求-Code-选择Python-选择相应方式即可。

 
 

可以看到Postman支持非常多种语言的导出。
可以看到Postman的确是个非常强大的工具,甚至可以直接帮我们生成requests代码了,而不仅仅是把headers转化为字典…
但是呢,我个人感觉使用Postman来干这件事有种杀鸡焉用牛刀的感觉。这款工具太重了…大家需要衡量学习成本,只做爬虫而不做Web开发的话估计用的会少一些。另一方面就是可能依然有人有人没办法访问Google…

方法五:使用curlconverter

curl.trillworks.com/
使用这个方法前我们需要知道什么是curl。
curl是Linux命令行下的文件传输工具,可以直接访问URL,支持多种协议和参数设置甚至cookie设置。简单来说,就是可以模拟一个请求。
Chorme浏览器的开发工具支持直接copy as curl,所以我们只需要这么做:
在开发工具中选中请求copy as curl,然后粘贴到网站表单中,获得Python代码。

 
 

这个网站只支持Python、NodeJS和PHP。这种轻量级的方法应该是最方便的一种了…

 

posted @ 2019-03-08 11:12  hank-li  阅读(3541)  评论(0编辑  收藏  举报