今天朋友叫我帮个忙说西瓜视频博主视频URL批量获取有些难度,我就去看看了刚开始确实难住了,找到_signature算法后以为是通过这个加密翻页pagenumber,没想到只是简单的一个URL地址加密,这里也附上查询过程
这里将数组 {url: “/api/search/preset”} 进行加密获得_signature=值
当然这里并不是或其去翻页,接下来就分析整个URL地址上的参数发现有三个参数
https://www.ixigua.com/api/videov2/author/video?author_id=54950059962&type=video&max_time=0&_signature=_02B4Z6wo00f01NHqTwwAAIBDyLSpOTw1JYjR60uAAGuze5
author_id=博主ID
max_time=刚开始以为是时间戳
_signature=sign算法
然后进行翻页获取URL地址
https://www.ixigua.com/api/videov2/author/video?author_id=54950059962&type=video&max_time=1602838042&_signature=_02B4Z6wo00f01OxM7lQAAIBD9RIIY44YofDsTerAAGTL30
发现改变的两个参数只有max_time和_signature,排除掉_signature不是翻页码,那么就是max_time,这样就明了了,应该是根据最后一个视频的时间戳获取下一个翻页,数据库查询应该是大于改时间段的前30条视频,这样累计获取翻页,
看图片第一条翻页的max_time=0,查看最后一条视频的behot_time获取到第三十条视频的时间戳这样就分析出了翻页的规则。
这里附上易语言的批量获取博主所有视频URL
.版本 2
.支持库 spec
.支持库 iext
_启动窗口.标签1.标题 = “开始采集”
number = 1
.循环判断首 ()
处理事件 ()
_启动窗口.标签1.标题 = “采集” + 到文本 (number) + “页”
.如果 (behot_time</