爬取大众点评美食店铺信息,解密_token的思路
先随意进入一个店铺的链接,例如:http://www.dianping.com/shop/127857802
进入之后打开控制台,进入之后选择xhr,即筛选出动态加载的链接
可以看到图片里面就有一部分的详情内容,我们看一下它的请求头,发现有个_token参数
但我们看不出它是什么内容,因为被加密了,也不知道它的加密方式,但我们多打开几个网页来看它的token参数,会发现有时候它的末尾有个=号,这说明很有可能是先压缩再进行base64加密的结果,所以就实验一下。
放到pycharm中执行decode和decompress方法,结果如下
这样token就出来了,里面还有个sign参数,其实也是一样的方法,先压缩再base64加密生成的。
然后全局搜索_token参数
有两个文件含有这个参数,先打开第一个。
这里看到Rohr_Opt这个函数被调用了,比较可疑,再次进行全局搜索。
排查之后发现在这个文件中。
打开它搜索刚才解开token中的参数sign,在sign生成的位置打上断点
单步调试,可以看到sign的结果已经出来了
我们所需的token参数就是ip中的参数加密得到的。jw就是_token的值。
我们把这里jw的值放到pycharm中解码解压,看是否与iP中的值一致。如下图,可以看到是一致的,这就是大概的思路。