推荐4个爬虫抓包神器
个人公众号:Python之禅(微信ID:vttalk)
爬虫的基本原理就是模拟客户端(可以是浏览器,也有可能是APP)向远程服务器发送 HTTP 请求,我们需要知道目标服务器的 HOST、URI、请求方法、请求参数、请求头、请求体。Web 网站通过 Chrome 浏览器可以找到这些信息。但是对于 APP 爬虫,就显得有些束手无策。这时候必须借用一些抓包工具来辅助我们分析APP背后的秘密。
今天推荐4个HTTP代理工具通过抓包分析,帮助你还原APP背后的每个请求。
Fiddler
Fiddler 是 Windows 平台最好用的可视化抓包工具,也是大家最熟知的 HTTP 代理工具,功能非常强大,除了可以清晰的了解每个请求与响应之外,还可以进行断点设置,修改请求数据、拦截响应内容。
此外,还可以自定义规则,通过修改脚本,加入自己的特殊处理,不过因为它是 C# 编写的,如果你要写复杂的脚本,需要懂C#。
过滤器功能使得你可以通过正则表达式规则将你关心的请求显示出来,如果你只需要抓特定网站的数据,这个功能就显得非常有用,可以去除很多干扰信息。
Charles
Charles 是 macOS 平台下最好用的抓包分析工具之一,同样提供GUI界面,界面简洁,基本功能包括HTTP、HTTPS请求抓包,支持请求参数的修改,最新的 Charles 4 还支持 HTTP/2。当然,也同时支持Windows 和 Linux, 不过这款工具是要收费的,免费试用 30 天,试用期过后功能受限。
AnyProxy 是 阿里巴巴开源的 HTTP 抓包工具,基于 NodeJS 实现,优点是支持二次开发,可自定义请求处理逻辑,如果你会写JS的话,同时需要做一些自定义的处理,那么AnyProxy 是非常适合的。支持 HTTPS,提供了GUI界面。 GitHub地址:https://github.com/alibaba/anyproxy
mitmproxy
mitmproxy 是一款基于 Python,支持 SSL 的抓包工具,用 Python 写爬虫的一定会很喜欢,因为他不仅是跨平台的,而且提供的是命令行交互模式,很有极(zhuang)客(bi)感。mitmproxy 包含 3 款工具:
mitmproxy: 带交互的终端界面
mitmdump: mitmproxy 的命令行版本,类似于 tcpdump
libmproxy: 用于 mitmproxy/mitmdump 的库
GitHub 地址:https://github.com/mitmproxy/mitmproxy
Python爱好者社区历史文章大合集:
Python爱好者社区历史文章列表(每周append更新一次)
关注后在公众号内回复“课程”即可获取:
小编的Python入门免费视频课程!!!
【最新免费微课】小编的Python快速上手matplotlib可视化库!!!
崔老师爬虫实战案例免费学习视频。
陈老师数据分析报告制作免费学习视频。
玩转大数据分析!Spark2.X+Python 精华实战课程免费学习视频。