大家好,我是大爽,一个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. 面试必问:Java 垃圾回收机制

    摘要:垃圾回收机制是守护线程的最佳示例,因为它始终在后台运行. 本文分享自华为云社区<一文带你了解Java 中的垃圾回收机制>,作者:海拥. 介绍 在 C/C++ 中,程序员负责对象的创建 ...

  2. Vue插槽slot理解与初体验 ~

    一.插槽的理解 1.官网介绍 Vue 实现了一套内容分发的 API,将 <slot> 元素作为承载分发内容的出口. 2.为什么使用插槽 Vue 中有一个重要的概念-组件,可以在开发中将子组 ...

  3. Vulnhub实战-JIS-CTF_VulnUpload靶机👻

    Vulnhub实战-JIS-CTF_VulnUpload靶机 下载地址:http://www.vulnhub.com/entry/jis-ctf-vulnupload,228/ 你可以从上面地址获取靶 ...

  4. Dapr + .NET Core实战(十一)单机Dapr集群负载均衡

    如何单机部署Dapr集群 第十篇讲过了K8S集群下如何使用Dapr运行程序,但是很多人一直在问如何单机下进行Dapr的负载,这节课我们来聊聊如何单机进行Dapr的负载. 首先要说的是单机下,通过 da ...

  5. 10.3 Nginx

    Nginx介绍 engine X,2002年开发,分为社区版和商业版(nginx plus) 2019年 f5 Networks 6.7亿美元收购nginx Nginx 免费 开源 高性能 http ...

  6. NOIP模拟73

    T1 小L的疑惑 解题思路 第一眼不是正解,又是 bitset 优化可以得到的 60pts 的部分分. 打着打着突然发现这个东西好像和之前做过的某个题有一些相似,试着打了一下. 然后样例过了,然后对拍 ...

  7. web_security学习路线

    一.了解黑客是如何工作的 1.在虚拟机配置Linux系统 2.漏洞测试工具 3.msf控制台 4.远程工具RATS 5.远程访问计算机 6.白帽 二.技术基础 漏斗扫描工具AWVS AWVS简介 安装 ...

  8. python OptionParser的用法

    from optparse import OptionParser parser = OptionParser(usage = "usage: %prog [options] arg&quo ...

  9. JavaCPP快速入门(官方demo增强版)

    欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...

  10. 【UE4 C++ 基础知识】<10>资源的引用

    2种引用方式 硬引用(Hard Reference) 即对象 A 引用对象 B,并导致对象 B 在对象 A 加载时加载 硬引用过多会导致运行时很多暂时用不到的资源也被加载到内存中 大量资源会导致进程阻 ...