B站是否正在直播

记录一个别人写的
原出处:https://www.52pojie.cn/thread-1096152-1-1.html

当然我们本地PC,家用的宽带,本地的软件,这样的情况直接从B站官方接口拿数据是没问题的。
访问https://api.live.bilibili.com/room/v1/Room/room_init?id=直播间房间号,返回的json->data->live_status就是当前直播状态,1开播0没有,我们叫它接口1。
访问https://api.live.bilibili.com/room/v1/Room/playUrl?cid=直播间房间号&platform=h5&otype=json&quality=4,返回的json->data->durl就是各个画质的直播源,我们叫它接口2。
访问https://api.live.bilibili.com/xlive/web-room/v1/index/getRoomPlayInfo?room_id=直播间房间号&play_url=1&mask=1&qn=0&platform=web,可以看到返回的json->data里既有live_status这个字段,还有个play_url字段,durl也在这个play_url里面,我们叫它接口3。
对比三个接口的数据,我们很容易就能得出「接口3」就是「接口1」+「接口2」的结论。
(其实从room_init、playUrl、getRoomPlayInfo三个域名上就能初步猜测,不过大胆假设完还要小心求证嘛)

然后就看你的需求了,如果你只是想做一个开播提醒工具,tg机器人也好,qq机器人也好,微信公众号也好,邮件也好甚至短信也好,使用接口1就行了(反正接口2、3也没有更多的直播间标题等信息,还是要继续找其他接口)。

如果你想做一个开播查询工具,开播了就放没播就提示的话,用接口3避免了两次请求两个接口的繁琐步骤。

如果你只是单纯的想要直播源,打开浏览器访问接口2(https://api.live.bilibili.com/room/v1/Room/playUrl?cid=直播间房间号&platform=h5&otype=json&quality=4),Ctrl + F 搜索live_,有四个结果(不用选,四个都是一样的),取live_到.m3u8这一段,在前面加上https://cn-hbxy-cmcc-live-01.live-play.acgvideo.com/live-bvc/,B站直播源get。
而且从「即使直播间没开播,接口2依然能够获取durl(接口3不行durl值为null)」这个现象来看,B站的直播源很可能是接近永久(没事不会变化)的长期直播源。
B站直播整活不太行,24小时直播的影视频道还是挺有价值的,当成没广告的电影台看没什么问题。而且类型相对集中,比方说你喜欢恐怖片,有些直播间就只放恐怖片。
电视剧、相声、电台同理,虽然不知道现在还有没有。

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值