Ⅰ Python爬虫 - 基于js逆向抓取得物商品信息(一)
本文章旨在探讨Python爬虫技术,针对基于JavaScript加密的商品信息抓取问题进行深入解析。
目标网站为m.poizon.com,其商品链接加密处理。为破译此加密,首先进行抓包分析,发现数据加密与响应。
利用F12中的Debugger,通过Hook计时器或构造函数方法,定位请求数据与响应数据加密处理的关键点。断点设置于proct/detail请求路径,以追踪加密数据流向。
通过跟栈分析,明确数据加密位置,即加密函数接受两个参数,其中sign作为加密值,spuId为商品ID,第二个参数固定为POST。进一步发现sign加密方式,通过搜索关键词“sign”,并结合断点调试,确认t值即为所需sign。
深入到加密关键函数S中,发现其执行过程,即对t值(spuId与固定字符串组合)进行操作。进一步分析,猜测此操作为MD5加密,验证后确认其正确性。
至此,请求参数逆向分析完成。后续跟进断点,发现返回数据解密函数。该函数中,e.data表示加密数据,a为加密请求参数时返回的b.a,c为固定参数"1,hdw1"。
解密函数分析完毕,提取关键JS代码,修改原有加密解密过程,避免Debugger卡死情况。此过程包括加密与解密两部分,确保数据抓取过程的顺利进行。
最终,完成针对基于JavaScript加密的商品信息抓取问题的Python爬虫实现。请注意,以下接口仅用于合法学习交流,切勿用于非法用途。