这是一个使用统计视角进行弹幕(烂梗)展示的项目,从弹幕收集到展示一应俱全。
目前做了B站和斗鱼的收集接口。B站平台使用了bilibili-api中的接口进行开发,斗鱼平台使用官方的ws弹幕流服务器进行收集。
目前自己在做的收集,点击名称即可直接跳转到统计界面哦:
因此这些直播间的统计信息在上面的网站中均可找到。(需要直播间的原始房间号,房间靓号还没有做适配如玩出的直播间号应当是6979222而不是6657)
收集部分:python3 + sqlite
后端:Flask + sqlite + uWSGI
前端:vue3 + vite + axios + (DeepSeek)
打包部署:Docker + Nginx
有任何想法都可以在PR中提出,也欢迎在页面中多多复制弹幕!
该项目目前由个人开发,因此可能存在很多bug,特别是个人初次接触的前端部分,敬请谅解。
作者:
斗鱼ID: YPCouragE
B站ID: 浮云飘95
QQ: 404663951
更多直播间的弹幕统计项目可以联系作者进行部署~
项目的灵感来源:sb6657.cn
B站api-python接口支持:bilibili-api
感谢小z同学提供的斗鱼21级+账号支持,让我能在玩机器直播间刷wjq6657.top的弹幕,才得到一定的点击量,也得以借此机会找到一些问题和更多的待实现功能~
- 进一步完善
basetools/db_manager.py的功能:- 分表:一段时间或者数据量达到一定量后进行分表操作
- 数据筛选:更优雅的可以用户定义的拼接筛选语句,目前只支持
AND,OR筛选需要用户创建多个筛选来实现
- 对系统的日志进行重整,使用
logging库,现在存在多重日志的问题 - 最近b站的收集频繁需要更新
userinfo,排查一下可能的问题
- 添加一段时间内发送弹幕数id的统计,看看谁天天刷烂梗刷的最多(注意保护隐私)
- 后端发送数据只需要排名前若干的信息,完全的排名是没有必要的,同时优化带宽连接
- B站部分对历史SC进行呈现,斗鱼是否有类似SC的功能?
- 对直播间靓号/短号和原始直播间id进行匹配,使得跳转更加方便
- 在选择后或者正在加载中的统计进行说明,防止选了没有反应导致多次重复点击
- 优化手机端的呈现方式,对前端
vue的使用更优雅一些 - 更灵活的时间选择方式,方便前端的调整(在数据库操作方法
basetools/db_manager.py中实现) - (待定)加入一定时间间隔的心跳机制,统计同时访问界面的人数
- 找合适的国内服务器进行部署,现在的方式延迟略大
bash start_collect.sh当然更推荐通过docker compose的方式进行部署,只需要修改environment当中的环境变量信息就可以指定直播间进行弹幕收集(当然,需要注意直播间的房间号是原始的房间号),此后在命令行中执行(如果版本docker版较老可以安装并使用docker-compose):
docker compose -f collect-compose.yml up -ddocker compose -f backend-compose.yml up -d参考vue的部署方式