背景
爬虫采集中,我们经常需要携带网站的header等参数,比如:
我们在浏览器检查工具看到某请求头为:
Accept-Encoding: gzip, deflate, br
Accept-Language: zh-CN,zh;q=0.9,en;q=0.8
Cache-Control: max-age=0
Connection: keep-alive
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36
如果我们想在发请求时携带这个header,那么需要手动将其转为json格式。
今天推荐一个工具,可快速的将xxx:xxx
这种字符串格式转为json格式
安装:
pip3 install feapder
若window环境安装失败,可能缺少VC依赖库,
解决办法:安装 Microsoft Visual C++ 工具,工具下载地址: https://download.microsoft.com/download/5/f/7/5f7acaeb-8363-451f-9425-68a90f98b238/visualcppbuildtools_full.exe
使用
- 输入命令,回车
> feapder create -j
请输入需要转换的内容: (xxx:xxx格式,支持多行)
-
copy 请求头,粘贴到提示下方
-
输出如下:
另外,feapder还支持创建有序字典,方便对比参数前后的变化
命令为:
feapder create -sj
使用方式与上面一致
feapder简介:
feapder 是一款上手简单,功能强大的Python爬虫框架,使用方式类似scrapy,方便由scrapy框架切换过来,框架内置3种爬虫:
AirSpider
爬虫比较轻量,学习成本低。面对一些数据量较少,无需断点续爬,无需分布式采集的需求,可采用此爬虫。Spider
是一款基于redis的分布式爬虫,适用于海量数据采集,支持断点续爬、爬虫报警、数据自动入库等功能BatchSpider
是一款分布式批次爬虫,对于需要周期性采集的数据,优先考虑使用本爬虫。
feapder除了支持断点续爬、数据防丢、监控报警外,还支持浏览器渲染下载,自定义入库pipeline,方便对接其他数据库(默认数据库为msyql,数据可自动入库,无需编写pipeline)
读音: [ˈfiːpdə]
- 官方文档:http://boris.org.cn/feapder/
- github:https://github.com/Boris-code/feapder
- 更新日志:https://github.com/Boris-code/feapder/releases
环境要求:
- Python 3.6.0+
- Works on Linux, Windows, macOS