关于拼多多的 “anti_content” 参数这道题

简介: 关于拼多多的 “anti_content” 参数这道题

阅读本文需要7分钟


今天来聊聊关于拼多多的 anti_content 参数这道问题,另外可以借这个文章复习下思路,大家也可以学习下思路,学了之后最好自己实践一遍,这样才会真正学到东西。我也是学习来的,废话不多说,开始学习!!!


1.寻找所需参数

点击搜索,然后开始滑动下一页,你可以看到这个:


这里有三个参数需要找的,其他参数都可以看得出是什么,有些也是固定不变的。

先从第一个参数 list_id 开始,一般都会打开搜索,进行搜索这个参数


随便一找,即可找到这里


这个是我们在第一次请求搜索页返回的,也就是发送这个请求


通过多次实验,这个请求只需要带上关键字参数即可请求成功,比如这样:


http://yangkeduo.com/search_result.html?search_key=%E7%93%9C%E5%AD%90%E7%B1%BB

只是关键字需要解析一下即可,问题不大。

在这个页面还给我们返回了 flip 这个参数,所以我们可以使用正则来获取这两个参数,剩下的就是 anti_content

我们可以试试再和上面那样,试试通过搜索 anti_content,可以看到,也可以通过搜索看到,经过查找并多次断点,可以找到这个为位置:

打上断点,可以看到就是我们需要的数据,但是如何找到加密的位置呢?请继续往下看。


2.寻找加密位置

如果你单纯是想通过上面这种方式查找的话,估计会一整天都在那里按执行下一行代码,最后还有可能得不到自己想要的结果,今天告诉一个很简单的方法,因为每次都是发一个请求,所以我们可以在开发者工具下打个 xhr 断点,这样在我们滑动请求的时候就可以抓到这个请求,并查看调用栈即可快速找到,通过这个方法,最多就只需要半个小时吧(夸大了不太好)。

打 xhr 断点在这里打:

这里还可以根据请求的请求路径进行断点,我就不写上了,我直接捕获任何 xhr 断点了,你可以自己尝试下,当然,除了这个 xhr 断点,还有很多断点,比如事件监听等,这些在对反爬更加厉害的需要用到的时候就越多,所以,闲着没事的话可以研究这些断点,会了可以大大提高自己的工作效率,都是爬虫必会的。

打上断点之后,我们可以进行滑动,可以看到这里:

这里第一次捕获到的是我们浏览器的配置和我们活动的距离好像,这个可以直接忽略,进行下一个断点即可。

经过多次查看,可以很容易就发现这个地方有点东西,立即下断点

这时我们可以先去掉 xhr 断点,然后刷看查看,获取不断点下一个断点直到运行结束再滑动到下一页即可。经过调试可以看到这个:

所以我们的 anti_content 参数就是从这里生成的,所以接下来就是继续查看这个语句执行的语句,再次经过多次调试,可以发现是从这里生成的:

ep(“0xd2”, “jLF%”) 即是 anti_content 的生成语句,可以继续在函数内部打上断点即可查看内部生成过程。

3.代码太多,只能利用execjs,或者使用接口

因为这里的代码太多,而且我又不太懂里面的加密过程,所以我才说这类加密通常都是只需要找到加密位置即可,接下来就是把所需要的加密 JS 代码扣下来使用 python 的 pyexecjs 来运行即可,但是如果你懂它里面的加密方法,就可以直接使用 python 提供的对应的加密方法进行使用即可,这样子就更容易得出结果,所以接下来需要学习的地方就是各种加密方法。

这里的加密方法我猜测是通过 deflate 加密方法,有兴趣的可以自己查看。

这里扣代码没什么好说的,说下这里的坑吧。坑有两个,

一个是需要使用到一个 cookie,不过固定即可,无需要获取,这个 cookie 是下面这个


使用到的地方为这里:

通过 split 切割就是获取上面箭头所指的 cookie,下面的函数就是进行赋值然后返回给一个对象,这里通过自己慢慢调试都是可以知道的。

另一个坑就是需要使用到我们的第一次的搜索请求,有两个地方

到时调用函数传参即可。其他的就没有什么了,如果有请在留言区提问。

4.验证

我们可以使用 execjs 来执行 JS,或者使用node来执行然后提供给python 接口也是可行,看你个人,这里我直接使用 execjs 来执行了


终于完了, 我发现跟别人学习, 也很累,很累, 很累!!!

源码后台回复 【多多】

相关文章
|
前端开发 测试技术 Go
autojs滑块验证码-查找位置(二)
牙叔教程 简单易懂
3607 0
|
10月前
|
JSON API 数据安全/隐私保护
【干货满满】分享拼多多API接口到手价,用python脚本实现
拼多多开放平台提供商品价格查询API,通过“pdd.ddk.goods.detail”接口可获取商品基础价、优惠券、拼团价等信息。结合client_id、client_secret及签名机制实现身份认证,支持推广位ID获取专属优惠。本文提供完整Python实现,涵盖签名生成、接口调用与价格解析逻辑,适用于比价工具、导购平台等场景。
|
6月前
|
数据采集 JavaScript 前端开发
拼多多数据抓取:Python 爬虫中的 JS 逆向基础案例分析
拼多多数据抓取:Python 爬虫中的 JS 逆向基础案例分析
|
11月前
|
API Python
免费网络北京时间API接口
本文介绍如何通过接口盒子的免费API获取当前北京时间,支持多种格式及POST/GET请求方式。需注册账号获取ID和KEY,适用于服务器时间同步、日志记录等场景。
3645 6
|
12月前
|
监控 安全 应用服务中间件
网站出现“SSL handshake failed“?SSL握手失败(525)的错误修复指南
本文详细解析了Cloudflare中常见的SSL握手失败(525)错误,从问题定义到根源分析,再到具体解决方案,提供了一站式修复指南。通过检查证书域名匹配、有效性及时钟同步等问题,结合Nginx/Apache配置调整与Cloudflare设置优化,帮助用户彻底解决525错误。同时,文章还提供了预防措施,如自动续期和SSL状态监控,确保网站长期稳定运行。跟随步骤操作,可有效避免SSL相关故障,保障网站安全访问。
8592 0
网站出现“SSL handshake failed“?SSL握手失败(525)的错误修复指南
|
网络协议 应用服务中间件 网络安全
免费泛域名https证书教程—无限免费续签
随着互联网安全意识提升,越来越多网站采用HTTPS协议。本文介绍如何通过JoySSL轻松获取并实现免费泛域名SSL证书的无限续签。JoySSL提供永久免费通配符SSL证书,支持无限制域名申请及自动续签,全中文界面适合国内用户。教程涵盖注册账号、选择证书类型、验证域名所有权、下载与安装证书以及设置自动续签等步骤,帮助网站简化SSL证书管理流程,确保长期安全性。
1634 20
|
存储 缓存 监控
如何高效爬取天猫商品数据?官方API与非官方接口全解析
本文介绍两种天猫商品数据爬取方案:官方API和非官方接口。官方API合法合规,适合企业长期使用,需申请企业资质;非官方接口适合快速验证需求,但需应对反爬机制。详细内容涵盖开发步骤、Python实现示例、反爬策略、数据解析与存储、注意事项及扩展应用场景。推荐工具链包括Playwright、aiohttp、lxml等。如需进一步帮助,请联系作者。
|
NoSQL 前端开发 Redis
Windows 下安装和配置 Redis (图文教程)
Windows 下安装和配置 Redis (图文教程)