鱼C论坛

 找回密码
 立即注册
查看: 1934|回复: 8

[已解决]python爬虫爬取多页数据问题

[复制链接]
发表于 2022-1-14 09:38:15 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
在爬取一个网址的多页内容时,爬取的url的页数和其所带的属性s有关,相关页面的属性s如下:
https://www.digikey.cn/zh/produc ... A5QjAGhDOkBMYC%2BWg
第一页:s=N4IgrCBcoA5QjAGhDOkBMYC%2BWg
第二页:s=N4IgrCBcoA5QTAGhDOl5gL6aA
第三页:s=N4IgrCBcoA5QzAGhDOkBMYC%2BWg
第四页:s=N4IgrCBcoA5QLAGhDOkBMYC%2BWg
第五页:s=N4IgrCBcoA5WAaEM6QExgL6aA
第874页:s=N4IgrCBcoA5QHAdgCwBoQzpATGAvnkA

这种情况怎么得到我要爬取url的页数的属性s的值?大佬们帮帮忙
最佳答案
2022-1-15 16:31:26
本帖最后由 cflying 于 2022-1-15 20:05 编辑

第一页、第三页、第四页的S是一样,既然是一样的就不可能和s相关(既然不相关,多半都是可以不要的,事实上也真的确实可以不要),所以你方向都找错了
人家是js写入cookies控制的
cookies中有个utm_data_x,键值中有个btn-page-9,数字9就是页码
放进去后跑一下直接json数据就出来了,倒是挺省事
对了,顺带提一句,search_prefs是控制每页返回多少条数据的
注意加referer,别到时候整出不来
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-1-15 11:48:58 | 显示全部楼层
本帖最后由 suchocolate 于 2022-1-15 11:50 编辑

这种带s=xxx的url是点击了什么才转到的吧,你在哪个页面(总url)点击的?点击了什么或输入了什么?贴出来吧。
总有个入口url,我们才能看看网页的生成s=xxx的行为。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-1-15 16:31:26 | 显示全部楼层    本楼为最佳答案   
本帖最后由 cflying 于 2022-1-15 20:05 编辑

第一页、第三页、第四页的S是一样,既然是一样的就不可能和s相关(既然不相关,多半都是可以不要的,事实上也真的确实可以不要),所以你方向都找错了
人家是js写入cookies控制的
cookies中有个utm_data_x,键值中有个btn-page-9,数字9就是页码
放进去后跑一下直接json数据就出来了,倒是挺省事
对了,顺带提一句,search_prefs是控制每页返回多少条数据的
注意加referer,别到时候整出不来
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2022-1-16 13:02:37 | 显示全部楼层
suchocolate 发表于 2022-1-15 11:48
这种带s=xxx的url是点击了什么才转到的吧,你在哪个页面(总url)点击的?点击了什么或输入了什么?贴出来 ...

总URL是https://www.digikey.cn/zh/products
具体操作过程如下:
在总URL的页面中选择一个类型

                               
登录/注册后可看大图

进入下一个页面后选择其中一个种类

                               
登录/注册后可看大图

就到了想要的详情页面,然后选择不同的页数就会有属性S出现。

                               
登录/注册后可看大图

(发出的回复有大小限制,图片不能截取完整请见谅)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-1-16 13:04:03 | 显示全部楼层
cflying 发表于 2022-1-15 16:31
第一页、第三页、第四页的S是一样,既然是一样的就不可能和s相关(既然不相关,多半都是可以不要的,事实上 ...

不一样的哟

                               
登录/注册后可看大图

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-1-16 15:12:43 | 显示全部楼层
这是动态链接把,估计要分析JS才行哦。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-1-28 17:14:10 | 显示全部楼层
呃,不好意思,当时没仔细看,仔细看了哈,确实s不一样,刚才大概看了哈,确实和s相关

https://www.digikey.cn/products/ ... a185f947bc2389cc.js中是计算s的地方,也不是啥加密,就是通过参数计算从“ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+-$”里按规则取出相应位置的字符组成s的值N4IgrCBcoA5Q7AGhDOkBMYC%2BWg
decompressFromEncodedURIComponent: function(e) {
                    return null == e ? "" : "" == e ? null : (e = e.replace(/ /g, "+"),
                    i._decompress(e.length, 32, (function(t) {
                        return o(n, e.charAt(t))

计算的地方是https://www.digikey.cn/products/ ... c53a66b328e781db.js的17276-17348行也就是_decompress: function(t, n, r),自己看吧,貌似还是挺复杂的样
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-5-21 09:30:13 | 显示全部楼层
兄弟问题解决了吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-15 18:53

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表