生意参谋是淘宝商家分析市场行情最常见的工具之一.淘宝为了防爬虫可谓下了不少功夫.
本次为了写一款抓取生意参谋数据的爬虫,真是费了不少很大的劲才破解里面的数据加密.
1. 登录
首先爬虫肯定是自动化抓取,所以登录自然是要自动登录,但是生意参谋的登录跟淘宝的是一模一样的,当你用selenium打开登录的时候就会被淘宝后端验证出来是个机器人。所以登录的话可以采用编译后的chromedriver来驱动chrome,或者使用mitmproxy用中间人的方式拦截服务器发送来的js,修改js里面函数的检测selenium的特征值的方式来登录.
2. transit-id加密
获得登录后的cookie后,如果想发送请求获得还必须在请求头里添加一个transit-id才可以获得响应内容.
如下图:
不过这个笔者目前少量测试,写死一个也能获得响应内容.
如果在浏览器进行debug,会发现这个值是每当前端请求数据的时候,对一个固定字符串做了RSA加密来得到的.所以可以在爬虫里写一个同样的方法获得transit-id.
3. data加密
原以为经过以上两步可以顺利获得结果了,事实证明还是太天真了.查看结果发现的到的是这样的一堆数据:
原来生意参谋后台响应的数据由经过AES加密的,前端展示的是解密后的.
所以,要想获得真正的数据,还需要对数据做AES解密才可以.
运行结果
展示运行结果
可关注个人公众号,不定时分享一些爬虫案例和技巧