吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 142|回复: 1
上一主题 下一主题
收起左侧

[新手问题] 某站视频总结,使用py-request无法通过api稳定抓取数据

[复制链接]
跳转到指定楼层
楼主
vegtbk 发表于 2024-10-18 01:26 回帖奖励

首先,我先描述啊b拿ai总结的过程(如果有任何问题,请指出),抓相关包分析该过程,应该是先做了一个judge,通过judge的返回值来判断是否有请求。如果有请求,视频总结按钮变亮,点击后且获取到总结(这里包括了该视频不存在ai总结的状态)前,会返回一个包,表示在等待状态(这个是个人观点,没扒源码),继续请求api(该过程5s一次,通过抓包的wts算出)。

在拿ai总结时,data中的code一直是1(应该是一个拿到总结前的等待状态,下文为了方便描述,就用“阻塞”这一说法)
已经做了judge确定有ai总结了,没带cookie(已经确定了不带cookie其实也能拿到总结),使用了代{过}{滤}理(无论是使用不同的代{过}{滤}理请求还是使用同一个代{过}{滤}理持续发送请求),api是这个
url=f"https://api.bilibili.com/x/webinterface/view/conclusion/get?bvid={bvid}&cid={cid}&up_mid{mid}&web_location=333.788&w_rid={w_rid}&wts={str(wts)}"🤔

并且通过输出的日志来看,能拿到总结的概率并不高,而且有奇怪的现象(开了多线程后,总有一定的时间多线程一起拿到总结,然后阻塞,然后再恢复,再阻塞,这里的代{过}{滤}理使用方式是一次一换,给每一个视频列表分配一个限时代{过}{滤}理来爬数据,也会出现这种情况)

使用py的requests来做抓取
对referer做随机,vd_source使用随机的uid处理得到
payload留白是模仿了 postman 中的写法,发现好用,没做修改

def get_url_summary(bvid, cid, mid, r_uid):
    wts = int(time.time())
    ua = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36"
    hash_d = f'bvid={bvid}&cid={cid}&up_mid={mid}&web_location=333.788&wts={str(wts)}'
    hash_c = "ea1db124af3c7062474693fa704f4ff8"
    md5 = hashlib.md5()
    md5.update((hash_d + hash_c).encode('utf-8'))
    w_rid = md5.hexdigest()
    url = (f"https://api.bilibili.com/x/web-interface/view/conclusion/get?"
           f"bvid={bvid}&cid={cid}&up_mid={mid}&web_location=333.788"
           f"&w_rid={w_rid}&wts={str(wts)}")

    md5_a = hashlib.md5(bytes([int(x) for x in str(r_uid)])).hexdigest()

    headers = {
        'user-agent': ua,
        'referer': f"https://www.bilibili.com/video/{bvid}/?vd_source={md5_a}"
        # 'cookie': cookie
    }

    payload = {}

    return url, headers, payload        

略去了判断部分的代码

    url, headers, payload = get_url_summary(bvid, cid, url_mid, r_uid)
    response = requests.request("GET", url, headers=headers, data=payload, proxies=proxies, timeout=10)

注:数据爬取只用于做数据分析

截屏2024-10-18 01.15.43.png (290.75 KB, 下载次数: 0)

截屏2024-10-18 01.15.43.png

截屏2024-10-18 01.12.29.png (271.22 KB, 下载次数: 0)

截屏2024-10-18 01.12.29.png

截屏2024-10-18 01.11.32.png (301.25 KB, 下载次数: 0)

截屏2024-10-18 01.11.32.png

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

沙发
Rwl6688 发表于 2024-10-18 07:39
这是干嘛的,小白不懂……
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-10-18 08:43

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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