大家好,我是大爽,一个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. Flawfinder在Python2和Python3环境下对代码进行扫描方法

    1. Flawfinder Flawfinder是一款开源的关于C/C++静态扫描分析工具,其根据内部字典数据库进行静态搜索,匹配简单的缺陷与漏洞. 官网:https://dwheeler.com/f ...

  2. [源码解析] PyTorch 流水线并行实现 (4)--前向计算

    [源码解析] PyTorch 流水线并行实现 (4)--前向计算 目录 [源码解析] PyTorch 流水线并行实现 (4)--前向计算 0x00 摘要 0x01 论文 1.1 引论 1.1.1 数据 ...

  3. 一、mybatis入门案例

    今天学习了mybatis框架,简单记录一下mybatis第一个入门案例,目标是使用Mybatis作为持久层框架,执行查询数据的SQL语句并且获取结果集 基本步骤: 物理建模 逻辑建模 引入依赖 创建持 ...

  4. 使用vxe table组件时,edit-render配置$select',选中option后关闭cell的激活状态,显示选中option的value问题

    在我的项目中使用vxe table组件时,edit-render配置{name: '$select', options: [{label:"脉搏",value:"maib ...

  5. JVM学习笔记——方法区

    方法区 Method Area 方法区在逻辑上属于堆的一部分,但可以看做是一块独立于 Java 堆的内存空间.所有的字段和方法字节码,以及一些特殊的方法,如构造函数,接口代码在此定义.所有定义方法的信 ...

  6. tomcat启动程序报错

    1.问题 23-Apr-2021 10:53:38.897 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.de ...

  7. 人力节省 50%,研发效能提升 40%,阿里 Serverless 架构落地实践

    作者 | 万佳 嘉宾 | 杨皓然(不瞋) 导读:云的下一波浪潮是什么?杨皓然称"是 Serverless".作为一名阿里老兵,他早在 2010 年即加入阿里云,曾深度参与阿里云飞天 ...

  8. linux下修改IP地址的方法

    linux下修改IP地址的方法 1.网卡的命名规则 在centos7中,en表示着:ethernet以太网,即现在所用的局域网,enX(X常见有以下3种类型) 2.IP地址的临时修改(重启后失效) 查 ...

  9. 改善深层神经网络-week1编程题(Regularization)

    Regularization Deep Learning models have so much flexibility and capacity that overfitting can be a ...

  10. Java High Level REST Client 使用地理位置查询

    Java High Level REST Client 使用地理位置查询 一.需求 二.对应的query语句 三.对应java代码 1.引入 jar 包 2.创建 RestHighLevelClien ...