一、逆向目标
通过抓包技术找出请求头的加密参数,当然也包括cookie,以及响应数据中的加密过的或编码过的数据,通过xhr/fetch请求定位到具体的接口,再通过全局搜索或断点调试找出JS中的一些逻辑,不行再进行hooks、js重写、自动化模拟等方式,最终的目标是能够稳定、快速、完整的抓取到我们所需的数据
二、网站分析
分析某二手车的网页数据,发现我们要抓取的数据字段还是比较多的,一旦该网站的网页元素及其位置发生改变,维护起来就比较麻烦,所以我们通过xhr定位到接口:
三、加密参数分析
通过接口的请求头参数,我们大致可看出有一些参数可能是比较重要的,比如client-time、verify-token、szlm-id等参数,我们全局搜索一下verify-token:
并进行断点调试,刷新一下:
verify-token的值为44646d6aa72bc4733ceabefe0e952271,如果我们再刷新一次,发现verify-token的值又一次变化了,是不是需要我们找出其JS构造逻辑呢?并不需要,当我们不知道某些参数是否有用时,可以使用一些调试工具如postman等对其接口的请求头参数进行调试
经过验证,verify-token虽然是动态变化的,但不影响返回的数据,访问也不会被禁止,故该参数可被舍弃,其他的请求头参数也是相同的调试验证流程…………
四、加密数据分析
查看其响应response数据,格式化一下:
可轻易看出数字是经过编码处理过的,我们只需与页面中的数字对照起来看就行:
数字5就是
数字4就是
五、思路总结
此次实战中可看出,其实很多请求头参数都是没用的,即使是加密动态变化的参数也是如此,我们可通过调式工具去判断其是否有用,绕过一些东西,从而帮助我们快速抓取数据,提高爬虫效率
六、完整项目下载
点我下载完整项目
项目包括以下内容:
经过逆向研究,使用xmind编写的部分思维导图如下:
项目结构:
其中有xmind的软件包,可用xmind.exe打开思维导图查看逆向流程
测试前9页爬取效果:
查看Excel数据:
七、作者Info
Author:小鸿的摸鱼日常,Goal:让编程更有趣!
专注于算法、爬虫,游戏开发,数据分析、自然语言处理,AI等,期待你的关注,让我们一起成长、一起Coding!
版权说明:本文禁止抄袭、转载 ,侵权必究!