【Python爬虫】某团美食_token分析

步骤


此案例中,仅是通过该例子作为学习,如有侵权可联系作者进行删文。

前言

打开北京地区的美食, 如下图
【Python爬虫】某团美食_token分析
打开开发者调试,分析ajax接口,查看入口。通过仔细对照数据发现,该ajax请求便是数据来源。
【Python爬虫】某团美食_token分析

分析

想要拿到数据,发现post表单内有一个参数需要解决, 便是_token参数
【Python爬虫】某团美食_token分析

通过全局搜索直接搜索试试,疑似发现_token来自d,而d来自一个reload函数.
【Python爬虫】某团美食_token分析
让我们调试一番,到底是不是从reload函数拿到的
【Python爬虫】某团美食_token分析
【Python爬虫】某团美食_token分析
发现的确加密后的参数是来则reload,并且加密的东西是url的链接
让我们点入reload观察。发现这个函数是全局加载的,从window调用的。
【Python爬虫】某团美食_token分析
这下子好办,直接复制,从global生成这个函数,然后在iP.reload加载完的时候, 在赋值给在函数外的参数,从而可以间接调用,如:
【Python爬虫】某团美食_token分析
这样reload就在匿名函数内被赋值,然后就可以直接使用reload函数了。
然后来测试一下算法是否正确,的确算法生成了一串加密字符串。
【Python爬虫】某团美食_token分析
然后我们尝试复制这段加密字符串请求服务器。的确,能返回正确数据了。
【Python爬虫】某团美食_token分析

然后比对一下浏览器看到的数据
【Python爬虫】某团美食_token分析
的确,数据是正确的。验证下其他地区的数据
【Python爬虫】某团美食_token分析

【Python爬虫】某团美食_token分析
正确。