Skip to content

B站up主的好助手。记录所有自己投稿稿件的各类历史数据(播放量、点赞、投币、评论、收藏、转发、评论数)并进行可视化。

License

Notifications You must be signed in to change notification settings

littlePING-221/bilibili-data-assistant

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

bilibili-data-assistant (B站稿件数据记录及可视化)

B站up主的好助手。记录所有自己投稿稿件的各类历史数据(播放量、点赞、投币、评论、收藏、转发、评论数)并进行可视化。

特点:

  1. 实时记录所有自己投稿稿件的各类数据(播放量、点赞、投币、评论、收藏、转发、评论数),便于进行观众的行为分析。

  2. 可以分时段看到数据的变化情况,便于优化自己的投稿时间。

  3. 创作中心--稿件管理获取数据,所以新投稿的视频也会自动开始记录。

  4. 数据可视化,通过参数灵活调整显示的数据类型和时间段。

  5. 如果程序意外退出,重新运行即可,之前的数据会被保留。

avatar

总览

基于Python3,所需的第三方包有:PandasMatplotlib

程序分为两个部分:

  • 收集数据
    collector.py实现,每间隔一段时间将数据记录并保存到time_series.pkl中,需要一直保持后台运行。
  • 查看数据 读取time_series.pkl中的数据并通过Matplotlib进行数据可视化。 提供了三种方式,分别为viewer.py, viewer.ipynb, viewer_GUI.py

使用

0 环境

基于python3,所需的第三方包有:PandasMatplotlib。上述两个库需要(通过pip等命令)额外安装。然后将程序通过git命令等下载到本地。

1 数据收集(collector.py)

用浏览器登录B站,查看你的cookie。 avatar

修改collector.py中第21行对应的cookie。 avatar

修改最后一行time.sleep()中的秒数,以修改获取数据的间隔时间。默认为1800秒,即每半小时更新记录一次数据。

运行collector.py,注意使其保持一直运行。

程序会生成time_series.pkl文件,是保存的数据文件。

如果程序意外退出,重新运行即可,之前的数据会被保留。

2 数据查看

2.1 viewer.py

viewer.py的提供了三个函数:

  • accumulate(kinds, av, start_time, end_time)
  • increase(kinds, av, start_time, end_time, interval)
  • av_title()

前两者分别用于画累计数据的折线图指定时间间隔的增长量柱状图,最后一个函数用于打印视频av号与标题的对照

具体参数如下:

参数 说明
kinds 在一张图表中绘制多子图同时显示指定的数据。接受list类型,其中元素可以填'view' 'like' 'coin' 'favourite' 'share' 'danmu' 'reply'
av 指定要画图的视频。接受list类型,其中的元素为视频av号(类型为int)
start_time end_time 指定起止时间。接受string类型,格式为'YYYY-mm-dd MM:HH''2020-05-05 15:05'
interval 针对increase()函数有效,设置时间间隔。接受int类型,单位为,默认值为84600

修改程序最后的函数及参数即可得到不同的图表。

2.2 viewer.ipynb

该文件是JupyterNotebook文件,代码同viewer.py,修改最后两个cell中函数的参数,即可绘图。

参数填写示例及效果如下图: avatar

2.3 viewer_GUI.py

该程序为用tkinter写的GUI界面,直接运行viewer_GUI.py,可以通过它更直观的设置参数进行绘图。

界面及运行效果如下图: avatar avatar

注1:读取和保存time_series.pkl用的都是相对路径。即:请保证collector.py viewer.py time_series.pkl在同一个文件夹中。

注2:在./示例数据文件夹中附带了一份示例数据,可将其复制到上一层文件夹中用示例数据画图。 注意,如果要开始记录自己的数据时,请务必把示例数据从程序根目录下删除,否则自己的数据会添加在示例数据之后,而不是覆盖掉。


第一次在GitHub上发布repository。有任何问题欢迎讨论。 遇图片加载等网络问题可移步码云

欢迎关注我们的B站:三个半理工男 + 半个艺术生 = kaleidoscopeTech 科技万花筒

About

B站up主的好助手。记录所有自己投稿稿件的各类历史数据(播放量、点赞、投币、评论、收藏、转发、评论数)并进行可视化。

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published