请适度使用!
爬取的内容版权归属up主/平台!
若对直播内容在公开场合发布,请先经过版权方同意!!!!!
部分up直播内容并不希望录屏、传播,请尊重!!!!!!!!
本项目仅用于技术探讨。
功能描述:用于挂机监听B站用户直播是否开播,开播则自动下载直播流(flv格式)和实时弹幕
开发平台:windows10 + python3.9
测试平台:windows10/Ubuntu20.04
是否需要登录:不需要登陆
即用户ID,纯数字。
以https://space.bilibili.com/163637592为例,网址最后一串数字163637592为用户ID。
即直播房间ID,纯数字。
以https://live.bilibili.com/5867219为例,网址最后一串数字5867219为直播房间ID。
请求数据格式均为json。
-
安装python并配置环境变量
python推荐版本3.9(因为开发用的这个版本,其他版本未经测试) -
下载工具配置
windows平台
下载aria2c.exe,与py脚本放在同一目录下
或在配置文件中手动设置aria2c.exe绝对路径ubuntu平台
安装aria2
sudo snap install aria2c
配置文件中设置为 aria2c 即可
-
json文件说明与配置 isopen用于控制是否爬取该用户 note为注释 down2up为快速刷新直播状态的时段,
min2max为快速刷新时的随机时间取值范围 addTime+min到addTime+max为低频刷新时的取值范围
qualityLive为直播画质:20000为4K,10000为原画,401为杜比蓝光,400为蓝光,250为超清,150为高清,80为流畅
{
"sysConfig":
[
{"logFrequTime":300,"globalDownloadDir":"./live","isAria2":1,"aria2cDir":"./aria2c.exe","isBrowser":0}
],
"user":
[
{"isOpen":1,"note":"罗翔说刑法","mid":517327498,"down2up":"18:30-22:00","addTime":120,"min2max":"20-30","qualityLive":10000},
{"isOpen":0,"note":"我真的不懂分析","mid":85657899,"down2up":"18:30-22:00","addTime":120,"min2max":"20-30","qualityLive":10000}
]
}
-
运行
windows平台可直接运行BilibiliStart.cmd
cd [脚本所在目录]
python BilibiliLive.py .\user.json
-
关于稳定性
因为未知原因,程序会异常终止。为避免监听中断,windows平台下可将BilibiliStart.cmd 设为开机和间隔1分钟运行
- 存在未知原因的程序退出
- 支持json配置程序其他参数
- 增加浏览器与IDM下载支持
-
增加开播时间信息 - 获得的直播标题可能存在非法字符
-
直播状态刷新调度器 -
直播对象监听与信息显示分开为两个线程
在正式版本中删除了idm下载支持。如有需要参见 commit 0569a61 on 1 Nov 2021
简化了信息显示,可在自动生成的liveStatus.txt查看直播状态
该本版仅支持windows平台下aria2下载,删去了日志输出和信息显示,要监听的主播保存在uplist列表内。
直播流和弹幕下载功能与其他版本一致
菜鸡写的代码,面向搜索引擎编程,结果是还能用,感觉还不错,分享给大家,欢迎指教