b站个人直播年报【大爽歌作】 介绍与演示
大家好,我是大爽,一个b站UP主兼主播。
最近做了一个b站直播个人年报,该年报为代码文件生成。
且代码已打包到一个可视化工具中(exe)只需两步就可以获得自己的专属年报。
代码已上传到我的github: https://github.com/BigShuang/live-report
年报工具获取和使用方法: https://www.bilibili.com/video/BV1or4y1K7ts
这里给大家介绍下我的这个项目。
1 - 年报亮点
该年报可以简单直观的展示:
- 你今年开播了多少天,每月开播天数
- 多少人进入了你的直播间,谁进入次数最多,进入次数排名前20的人名和进入次数。
- 多少人发了弹幕,谁发的弹幕数量最多,发弹幕数量排名前20的人名和弹幕条数。
(还会滚动展示发弹幕数量排名前20的人发的部分弹幕) - 今年直播间里有多少人关注了你,每月关注人数。
- 多少人投喂了礼物,谁投喂的数量最多,投喂数量排名前20的人名和投喂数量。
- 大航海特写,哪些人给你开通了大航海,如果只有一个人的话,还会滚动展示这个人发的部分弹幕。
2 - 年报展示
年报并不是展示静态的图片,而是动态地展示数据。
动画过程已录制成视频投稿b站:https://www.bilibili.com/video/BV1zK4y1p76A
年报可分为8页,本文只截图展示下每页的效果
0. 开始页:xxx的2020个人直播年报

- 每月直播天数
(说明:该天数实际为打开弹幕姬天数,个人认为其可以作为直播天数的有效参考)

- 进入直播间次数及排行榜

3. 部分弹幕展示与弹幕数量排行榜


4. 每月关注直播间人数

5. 直播间投喂排行榜

- 大航海特写
只有一个就单独特写,多个就直接罗列

- 结束页,可写寄语。

3 - 技术路线
- python3 读取分析弹幕姬日志
- html/css/js 展示年报
使用到的js library:
- chart.js
- anime.js
4 - 现有缺陷
数据准确问题
年报数据来源于弹幕姬工具,弹幕姬工具获取到的数据来源于b站直播间。
除代码有bug的情况外,这两个来源的问题也会导致数据不准确(且该问题目前暂时无法解决)。
数据并不完全准确,不准确详情或原因如下:
- 未开启弹幕姬,导致未记录弹幕
- 弹幕姬奔溃,导致未记录弹幕
- 有些弹幕是(弹幕姬or直播间的)新版特性,比如进入直播间这种弹幕可能是某个月份之后才有的(数据有限,只是猜测)。
- 直播间天数实际采用数据为弹幕姬开启天数。
b站个人直播年报【大爽歌作】 介绍与演示的更多相关文章
- 【大爽python算法】递归算法进化之回溯算法(backtracking)
作者自我介绍:大爽歌, b站小UP主 , python1对1辅导老师, 时常直播编程,直播时免费回答简单问题. 前置知识: 递归算法(recursion algorithm). 我的递归教程: [教程 ...
- 大爽Python入门教程 总目录
作者自我介绍:b站小UP主,时常直播编程+红警三,python1对1辅导老师. 大爽Python入门公开课教案 本篇博客为公开课教案目录,正文内容在目录章节链接的博客里 除目录本身外,没有链接的章节, ...
- 大爽Python入门教程 3-2 条件判断: if...elif..else
大爽Python入门公开课教案 点击查看教程总目录 简单回顾if 回顾下第一章的代码 >>> x = 5 >>> if x > 0: ... print(&q ...
- 大爽Python入门教程 2-4 练习
大爽Python入门公开课教案 点击查看教程总目录 方位输出 第一章有一个思考题,方位变换: 小明同学站在平原上,面朝北方,向左转51次之后(每次只转90度), 小明面朝哪里?小明转过了多少圈? (3 ...
- 大爽Python入门教程 1-4 习题
大爽Python入门公开课教案 点击查看教程总目录 1 [思考]方向变换 小明同学站在平原上,面朝北方,向左转51次之后(每次只转90度), 小明面朝哪里?小明转过了多少圈? (360度为一圈,圈数向 ...
- 大爽Python入门教程 3-3 循环:`for`、`while`
大爽Python入门公开课教案 点击查看教程总目录 for循环 可迭代对象iterable 不同于其他语言. python的for循环只能用于遍历 可迭代对象iterable 的项. 即只支持以下语法 ...
- 大爽Python入门教程 3-4 实践例题
大爽Python入门公开课教案 点击查看教程总目录 1. 求和 使用循环,计算列表所有项的和,并输出这个和. 列表示例 lst = [8, 5, 7, 12, 19, 21, 10, 3, 2, 11 ...
- 大爽Python入门教程 3-5 习题
大爽Python入门公开课教案 点击查看教程总目录 1 求平方和 使用循环,计算列表所有项的平方和,并输出这个和. 列表示例 lst = [8, 5, 7, 12, 19, 21, 10, 3, 2, ...
- 大爽Python入门教程 3-6 答案
大爽Python入门公开课教案 点击查看教程总目录 1 求平方和 使用循环,计算列表所有项的平方和,并输出这个和. 列表示例 lst = [8, 5, 7, 12, 19, 21, 10, 3, 2, ...
随机推荐
- dbus中的数据类型
DBus中也是类似于静态语言,使用了"强类型"数据格式.在DBus上传递的所有数据都需要声明其对应的类型,下面整理了下,DBus中的数据类型,以及在DBus中声明的数据类型是什么意 ...
- 硝烟中的Scrum和XP
硝烟中的Scrum和XP 初次接触Scrum和XP(更加准确的说是"看到"),心里不免有些疑问,软件开发为什么会有如此多的方式,难道软件开发.软件工程不就是写写代码的事儿吗?直到后 ...
- Linux下关于用户账户的几个文件解析
Linux下关于用户账户的几个文件解析 Linux是一个多用户系统,但是对于一个多用户共存的系统中,当然不能够出现用户相互越权等一系列的安全问题,所以如何正确的管理账户成为了Linux系统中至关重要的 ...
- Serverless 解惑——函数计算如何安装字体
前言 首先介绍下在本文出现的几个比较重要的概念: 函数计算(Function Compute):函数计算是一个事件驱动的服务,通过函数计算,用户无需管理服务器等运行情况,只需编写代码并上传.函数计算准 ...
- Hibernate的介绍及入门小案例
1.Hibernate的诞生 在以前使用传统的JDBC开发应用系统时,如果是小型应用系统,并不觉得有什么麻烦,但是对于大型应用系统的开发,使用JDBC就会显得力不从心,例如对几十,几百张包含几十个字段 ...
- mysql join语句的执行流程是怎么样的
mysql join语句的执行流程是怎么样的 join语句是使用十分频繁的sql语句,同样结果的join语句,写法不同会有非常大的性能差距. select * from t1 straight_joi ...
- JavaScript之原型与原型链
前言 ❝ JavaScript常被描述为一种「基于原型的语言」--每个对象都拥有一个「原型对象」,对象以其原型为模板.从原型继承属性和放法.原型对象也可能拥有原型,并从中继承属性和方法,一层一层以此类 ...
- px,dp sp是像素、尺寸、尺寸
px:即像素,1px代表屏幕上一个物理的像素点:px单位不被建议使用,因为同样100px的图片,在不同手机上显示的实际大小可能不同,如下图所示(图片来自android developer guide, ...
- 问题:两个对象值相同(x.equals(y) == true),但是可能存在hashCode不同吗?
面试官的考察点 这道题仍然是考察JVM层面的基本知识,面试官认为,基本功扎实,才能写出健壮性和稳定性很高的代码. 涉及到的技术知识 (x.equals(y)==true),这段代码,看起来非常简单,但 ...
- Noip模拟39 2021.8.14
T1 打地鼠 都切掉了的简单题 1 #include<bits/stdc++.h> 2 #define int long long 3 using namespace std; 4 con ...