设为首页收藏本站

简体中文 繁體中文 English 日本語 Deutsch 한국 사람 بالعربية TÜRKÇE português คนไทย Français

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 57|回复: 7

火车头的大佬了? 一包烟钱,帮忙写一下西瓜视频的分页

[复制链接]

46

主题

75

回帖

336

积分

中级会员

积分
336
发表于 2020-9-29 21:03:13 | 显示全部楼层 |阅读模式
本帖最后由 改过自新 于 2020-9-29 21:49 编辑

如这个地址:https://www.ixigua.com/home/1508145346906638/video/?subtype=played&notea=true

如何用火车头拼接出多页地址,一包烟钱30不成敬意,要告诉我原理哈。


第一个回复的大佬得,pm我留下qq或wx,我加你发红包。谢谢


自己解决了,谢谢各位大佬。
回复

使用道具 举报

215

主题

1255

回帖

3295

积分

论坛元老

积分
3295
发表于 2020-9-30 09:46:53 | 显示全部楼层
本帖最后由 yjsx86 于 2020-9-30 09:48 编辑

你给的网站 我爬取试过, _signature的生成看下图(一个图我就不上图床了)



代码在js文件里 https://sf1-ttcdn-tos.pstatp.com/obj/rc-web-sdk/acrawler.js
在window对象上挂载了方法 byted_acrawler.sign()
我用python复现js代码, 简单的我可以, 这个我不行
后来我把acrawler.js下载下来用python运行 可以分页爬取了, 但是由于方法是挂载到window上的, 所以本机需要安装nodejs和jsdom
想着你要火车头的规则, 这个明显不行

一般来说移动端网页要比pc端好爬, 这个也不意外
我就直接给你答案了
首页:
https://m.ixigua.com/video/app/user/home/?to_user_id=1508145346906638&format=json&subtype=played&notea=true
返回的json数据, 在data里面的最后一条数据里找到 behot_time (本例为 behot_time: 1594618959)
构造下一页的网址:
https://m.ixigua.com/video/app/user/home/?to_user_id=1508145346906638&format=json&subtype=played&notea=true
&max_behot_time=1594618959


至于需不需要cookie或者user-agent或者referrer这些你自己去尝试了

本帖子中包含更多资源

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

×
回复

使用道具 举报

146

主题

6690

回帖

1万

积分

论坛元老

积分
13888
发表于 2020-9-29 21:03:55 | 显示全部楼层
如果没看错的话,下一页 &format=json&max_behot_time=1594618959 中 max_behot_time的意思是获取这段时间之前的一页,只要取每一页的最后一条发布时间戳,当下一页的时间参数应该就可以
回复

使用道具 举报

64

主题

247

回帖

698

积分

高级会员

积分
698
发表于 2020-9-29 21:13:18 | 显示全部楼层

小蓝姐姐 发表于 2020-9-29 21:13

来看看楼主被喷!

被喷? 菜鸡一个都不想给你解释太多,就问你知道头条的加密吗?
回复

使用道具 举报

80

主题

243

回帖

822

积分

高级会员

积分
822
发表于 2020-9-29 21:24:51 | 显示全部楼层
需要有referer
[ol]
  • https://www.ixigua.com/api/videov2/author/hot_video_list?_signature=_02B4Z6wo00f010rL2HgAAIBD8g2mJBSAYvdKytzAAI3Kba&author_id=1508145346906638&type=video&offset=0&limit=30
  • https://www.ixigua.com/api/videov2/author/hot_video_list?_signature=_02B4Z6wo00f010rL2HgAAIBD8g2mJBSAYvdKytzAAI3Kba&author_id=1508145346906638&type=video&offset=30&limit=30
  • https://www.ixigua.com/api/videov2/author/hot_video_list?_signature=_02B4Z6wo00f010rL2HgAAIBD8g2mJBSAYvdKytzAAI3Kba&author_id=1508145346906638&type=video&offset=60&limit=30[/ol]复制代码
  • 回复

    使用道具 举报

    46

    主题

    75

    回帖

    336

    积分

    中级会员

    积分
    336
     楼主| 发表于 2020-9-29 22:39:03 | 显示全部楼层

    木易酱 发表于 2020-9-29 22:43

    需要有referer

    这个很容易。
    是signature的算法解不出来
    回复

    使用道具 举报

    64

    主题

    531

    回帖

    1288

    积分

    金牌会员

    积分
    1288
    发表于 2020-9-29 21:13:00 | 显示全部楼层
    lz是不是要用这个做坏事采集与 防采集的 PK
    回复

    使用道具 举报

    280

    主题

    3143

    回帖

    7262

    积分

    论坛元老

    积分
    7262
    发表于 2020-9-29 22:41:59 | 显示全部楼层
    本帖最后由 yjsx86 于 2020-9-30 09:48 编辑

    你给的网站 我爬取试过, _signature的生成看下图(一个图我就不上图床了)



    代码在js文件里 https://sf1-ttcdn-tos.pstatp.com/obj/rc-web-sdk/acrawler.js
    在window对象上挂载了方法 byted_acrawler.sign()
    我用python复现js代码, 简单的我可以, 这个我不行
    后来我把acrawler.js下载下来用python运行 可以分页爬取了, 但是由于方法是挂载到window上的, 所以本机需要安装nodejs和jsdom
    想着你要火车头的规则, 这个明显不行

    一般来说移动端网页要比pc端好爬, 这个也不意外
    我就直接给你答案了
    首页:
    https://m.ixigua.com/video/app/user/home/?to_user_id=1508145346906638&format=json&subtype=played&notea=true
    返回的json数据, 在data里面的最后一条数据里找到 behot_time (本例为 behot_time: 1594618959)
    构造下一页的网址:
    https://m.ixigua.com/video/app/user/home/?to_user_id=1508145346906638&format=json&subtype=played&notea=true
    &max_behot_time=1594618959


    至于需不需要cookie或者user-agent或者referrer这些你自己去尝试了
    回复

    使用道具 举报

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

    本版积分规则

    Archiver|手机版|小黑屋|Discuz! X

    GMT+8, 2026-2-7 13:12 , Processed in 0.013988 second(s), 5 queries , Gzip On, Redis On.

    Powered by Discuz! X3.5

    © 2001-2025 Discuz! Team.

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