This repository has been archived by the owner on Jun 6, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 170
对近期直播改版后的“小心心”获取方法的一个猜想 #324
Comments
前排支持下,不过作者好像都有一阵子没维护了吧,这看起来近期是更不出东西了 |
我也认为是这两个请求决定了用户是否能获得小心心。我前几天写脚本把其它几个心跳都发了,但还是无法获得小心心。而且 |
原来已经有大佬把算法开源了https://github.com/lkeme/bilibili-pcheartbeat |
怎么说呢( |
小心心获取依赖 |
Closed
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
“叔叔我啊,是真的想赚钱了啊”
近期你B又改直播,砍上船箱子,改亲密度上限,新增21~40级(必须靠氪金)等等等等
不过还好留了一丁点能让大家白嫖的机会,那就是“小心心”
根据官方介绍,当你在你拥有粉丝勋章的房间观看直播(必须是直播,未直播或录播都不行)时,每五分钟可获取一个小心心
小心心可用于点亮勋章,并且每一个相当于50点亲密度,每天可获得24个
虽然最多也就等价于1200包辣条的亲密度,但总比没有好
然后我花了两天时间探究其获取方式,目前发现两个最可疑的:
https://live-trace.bilibili.com/xlive/data-interface/v1/x25Kn/E
https://live-trace.bilibili.com/xlive/data-interface/v1/x25Kn/X
打开正在直播且拥有勋章的直播间时,网页会POST一个E请求,而结果类似这样:
其中经过图中heartbeat_interval中的“180(秒)”之后
会发送第一个X请求,其返回结果如下:
在此之后1~5秒内用户包裹里会多出一个小心心
并且主播未开播,或是小心心已获取至每日上限时,不会再发送X请求
但是由于我能力有限,只能抓出这两个比较可以的,并不能对其Body等进行更加详细的分析,所以如果作者有空的话希望能研究一下我的猜想是否正确
附一张 其中一个X请求的完整信息:
其中Form Data中,id: [1,199,2,4895312] 中的1和199没有发现有变化,而变化的数值是第三个,每次创建一个X请求时会i + 1,而最后是观看的房间ID
ets的值是请求E的结果中的timestamp(若是打开直播间第一次发送),或是第一次请求X的结果中的timestamp(若已发送过一次或多次X请求)
ts是上一次请求的timestamp加了300之后在这段timestamp加了三位“随机数字”(?)
顺便唠叨一句,我记得我上一次看到这两个请求的时候,域名是“api.live.bilibili.com”
可能说的有点乱,因为我真的只是一个普通高一学生.......希望各位大佬能谅解.........
The text was updated successfully, but these errors were encountered: