1688商品爬虫(2024-12-2依旧稳定,必成)
这里小白就采用最朴实的方式,一个一个打断点吧,而老手们看几眼就知道加密位置在哪了(嘿嘿比如我),在这里我们就看见了salt以及sign的加密方式了。点击翻页之后再次发起一个数据接口,我们比较一下这两个接口的区别后发现,参数asyncreq,salt,sign会发生变化。逻辑是这样的,先通过js返回MD5的加密前参数传给d,再把d送到python里进行md5加密,随后就能得出salt和sign的值了
本章将对1688页面商品数据进行爬虫,由于发现现在帖子很多类似的教程都已经无法使用或者繁琐。因此本文将详细讲解爬虫思路,从0-1实现1688爬虫
声明!
本文章中所有内容仅供学习交流使用,不用于其他任何目的,不提供完整代码,抓包内容、敏感网址、数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关!
1、选定目标网页
我们先打开1688网站在搜索框中随意搜索一个关键词后,按下回车即会转跳到目标网页。本文就将以女装为参考案例。
2、查看接口情况
看到目标网页之后,我们想抓取上述的所有数据,那么就从接口入手。F12打开开发者工具后,我们们根据内容很快就找到了数据接口。

点击翻页之后再次发起一个数据接口,我们比较一下这两个接口的区别后发现,参数asyncreq,salt,sign会发生变化。至此已经清楚了这个接口是如何请求的了


3、参数解密
从2中我们已经知道了接口的规则,那么接下来只要的出这些参数就能进行模拟请求了。接下来将从源代码处讲解生成规则(重要!!!,本文核心就在这了)
首先搜索加密的参数名称sign,我们看到会返回很多的sign参数位置。

这里小白就采用最朴实的方式,一个一个打断点吧,而老手们看几眼就知道加密位置在哪了(嘿嘿比如我),在这里我们就看见了salt以及sign的加密方式了。从中也可以得出以下逻辑:
l:当前时间戳
f:时间戳加上一个随机数
d:md5加密参数
p:sign值

根据这段源代码我们就可以自己编写一个js解密文件了,下面是我编写的代码


逻辑是这样的,先通过js返回MD5的加密前参数传给d,再把d送到python里进行md5加密,随后就能得出salt和sign的值了
验证一下


可以看到测试用例通过了
4、批量采集
我们从3已经解出了参数加密的过成了,那么接下来就是进行翻页处理了。而翻页则是通过修改asyncreq的值即可实现。
我是将采集到的数据存入到数据库之中的,50页大概是1000多条左右,爬取成功

本期教程大概就是这样了,如有需要设计或者部署的同学们可以私信我付费帮忙解答定制哈~
更多推荐




所有评论(0)