大家好,我是大爽,一个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个人直播年报

  1. 每月直播天数

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

  2. 进入直播间次数及排行榜



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





4. 每月关注直播间人数



5. 直播间投喂排行榜

  1. 大航海特写

    只有一个就单独特写,多个就直接罗列

  2. 结束页,可写寄语。

3 - 技术路线

  • python3 读取分析弹幕姬日志
  • html/css/js 展示年报

使用到的js library:

  • chart.js
  • anime.js

4 - 现有缺陷

数据准确问题

年报数据来源于弹幕姬工具,弹幕姬工具获取到的数据来源于b站直播间。

除代码有bug的情况外,这两个来源的问题也会导致数据不准确(且该问题目前暂时无法解决)。

数据并不完全准确,不准确详情或原因如下:

  • 未开启弹幕姬,导致未记录弹幕
  • 弹幕姬奔溃,导致未记录弹幕
  • 有些弹幕是(弹幕姬or直播间的)新版特性,比如进入直播间这种弹幕可能是某个月份之后才有的(数据有限,只是猜测)。
  • 直播间天数实际采用数据为弹幕姬开启天数。

b站个人直播年报【大爽歌作】 介绍与演示的更多相关文章

  1. 【大爽python算法】递归算法进化之回溯算法(backtracking)

    作者自我介绍:大爽歌, b站小UP主 , python1对1辅导老师, 时常直播编程,直播时免费回答简单问题. 前置知识: 递归算法(recursion algorithm). 我的递归教程: [教程 ...

  2. 大爽Python入门教程 总目录

    作者自我介绍:b站小UP主,时常直播编程+红警三,python1对1辅导老师. 大爽Python入门公开课教案 本篇博客为公开课教案目录,正文内容在目录章节链接的博客里 除目录本身外,没有链接的章节, ...

  3. 大爽Python入门教程 3-2 条件判断: if...elif..else

    大爽Python入门公开课教案 点击查看教程总目录 简单回顾if 回顾下第一章的代码 >>> x = 5 >>> if x > 0: ... print(&q ...

  4. 大爽Python入门教程 2-4 练习

    大爽Python入门公开课教案 点击查看教程总目录 方位输出 第一章有一个思考题,方位变换: 小明同学站在平原上,面朝北方,向左转51次之后(每次只转90度), 小明面朝哪里?小明转过了多少圈? (3 ...

  5. 大爽Python入门教程 1-4 习题

    大爽Python入门公开课教案 点击查看教程总目录 1 [思考]方向变换 小明同学站在平原上,面朝北方,向左转51次之后(每次只转90度), 小明面朝哪里?小明转过了多少圈? (360度为一圈,圈数向 ...

  6. 大爽Python入门教程 3-3 循环:`for`、`while`

    大爽Python入门公开课教案 点击查看教程总目录 for循环 可迭代对象iterable 不同于其他语言. python的for循环只能用于遍历 可迭代对象iterable 的项. 即只支持以下语法 ...

  7. 大爽Python入门教程 3-4 实践例题

    大爽Python入门公开课教案 点击查看教程总目录 1. 求和 使用循环,计算列表所有项的和,并输出这个和. 列表示例 lst = [8, 5, 7, 12, 19, 21, 10, 3, 2, 11 ...

  8. 大爽Python入门教程 3-5 习题

    大爽Python入门公开课教案 点击查看教程总目录 1 求平方和 使用循环,计算列表所有项的平方和,并输出这个和. 列表示例 lst = [8, 5, 7, 12, 19, 21, 10, 3, 2, ...

  9. 大爽Python入门教程 3-6 答案

    大爽Python入门公开课教案 点击查看教程总目录 1 求平方和 使用循环,计算列表所有项的平方和,并输出这个和. 列表示例 lst = [8, 5, 7, 12, 19, 21, 10, 3, 2, ...

随机推荐

  1. dbus中的数据类型

    DBus中也是类似于静态语言,使用了"强类型"数据格式.在DBus上传递的所有数据都需要声明其对应的类型,下面整理了下,DBus中的数据类型,以及在DBus中声明的数据类型是什么意 ...

  2. 硝烟中的Scrum和XP

    硝烟中的Scrum和XP 初次接触Scrum和XP(更加准确的说是"看到"),心里不免有些疑问,软件开发为什么会有如此多的方式,难道软件开发.软件工程不就是写写代码的事儿吗?直到后 ...

  3. Linux下关于用户账户的几个文件解析

    Linux下关于用户账户的几个文件解析 Linux是一个多用户系统,但是对于一个多用户共存的系统中,当然不能够出现用户相互越权等一系列的安全问题,所以如何正确的管理账户成为了Linux系统中至关重要的 ...

  4. Serverless 解惑——函数计算如何安装字体

    前言 首先介绍下在本文出现的几个比较重要的概念: 函数计算(Function Compute):函数计算是一个事件驱动的服务,通过函数计算,用户无需管理服务器等运行情况,只需编写代码并上传.函数计算准 ...

  5. Hibernate的介绍及入门小案例

    1.Hibernate的诞生 在以前使用传统的JDBC开发应用系统时,如果是小型应用系统,并不觉得有什么麻烦,但是对于大型应用系统的开发,使用JDBC就会显得力不从心,例如对几十,几百张包含几十个字段 ...

  6. mysql join语句的执行流程是怎么样的

    mysql join语句的执行流程是怎么样的 join语句是使用十分频繁的sql语句,同样结果的join语句,写法不同会有非常大的性能差距. select * from t1 straight_joi ...

  7. JavaScript之原型与原型链

    前言 ❝ JavaScript常被描述为一种「基于原型的语言」--每个对象都拥有一个「原型对象」,对象以其原型为模板.从原型继承属性和放法.原型对象也可能拥有原型,并从中继承属性和方法,一层一层以此类 ...

  8. px,dp sp是像素、尺寸、尺寸

    px:即像素,1px代表屏幕上一个物理的像素点:px单位不被建议使用,因为同样100px的图片,在不同手机上显示的实际大小可能不同,如下图所示(图片来自android developer guide, ...

  9. 问题:两个对象值相同(x.equals(y) == true),但是可能存在hashCode不同吗?

    面试官的考察点 这道题仍然是考察JVM层面的基本知识,面试官认为,基本功扎实,才能写出健壮性和稳定性很高的代码. 涉及到的技术知识 (x.equals(y)==true),这段代码,看起来非常简单,但 ...

  10. Noip模拟39 2021.8.14

    T1 打地鼠 都切掉了的简单题 1 #include<bits/stdc++.h> 2 #define int long long 3 using namespace std; 4 con ...