Posted on:
Last modified:
由于网页和 JavaScript 都是明文的,API 也就直接暴露在爬虫的眼里,所以很多网站选择使用混淆后的 JavaScript 计算一个验证参数来加密接口。
首先,我们需要找到相关的网络请求。如果找不到,清空缓存或者重新开一个无痕模式窗口尝试触发
新开一个匿名窗口,重新请求一次,在 Network 面板中,搜索 set-cookie
https://mp.weixin.qq.com/s/i_HwHaDaD7pZyurWSa6B6g 还原工具
最后一步是使用 Python 调用 JS 脚本生成 sign 值,大多数的教程到这里都是直接使用 pyexecjs, 然而这样做并不是最优的。execjs 本质上还是使用 subprocess 调用了 node,所以你并不能省掉 安装 Node 环境这一步,而且每次调用还需要启动一个新进程,效率肯定是收到影响的。execjs 这个 包虽然简单,但是也不维护了,总有一天会用不了了。
做爬虫和逆向要有两个念头随时记着:
逆向的目的是为了了解程序的逻辑,按照结果可以分为两种:hook 和反汇编代码。hook 相当于黑盒调用别人的源码,而反汇编则把原来的代码完全理解了,可以直接白盒调用。
© 2016-2022 Yifei Kong. Powered by ynotes
All contents are under the CC-BY-NC-SA license, if not otherwise specified.
Opinions expressed here are solely my own and do not express the views or opinions of my employer.
友情链接: MySQL 教程站