上次,我们做了一个B站/知乎大V排名监控工具(用python爬虫追踪知乎/B站大V排行)。
有读者问,这个初始数据是怎么获取的?我说是来自于一个分析项目的副产品。
这个项目就是今天给大家展示的内容:
关于 bilibili 上用户行为的统计分析
因为完成统计已经有一段时间了,所以数据并非最新的实时数据。
本项目由我们的实训生兼助教 清风小筑 完成。
获取代码、数据、图片及说明文档见文末
数据来源
分析数据基于 bilibili 网站上的公开信息,主要采集了以下数据维度:
之所以其中选择了 1w、10w、50w 等门槛,是因为B站的视频实在太多了,且有些数据不在列表请求中,需逐个获取。出于研究学习的目标,我们没必要完整抓取所有信息,只针对相对受欢迎的视频进行分析。
相关数据量
2019年不到半年的视频发布量,已经占到了B站全站视频量的 1/4 以上,可见其最近正进入高速增长时期。
以下分析,如无特殊注明均是针对2019年1~5月部分数据做出的统计。
历史趋势
视频发布量有一个比较明显的加速上涨趋势。另外,可以看出每年7、8月份都有一波小峰值,因为放假了……
周期规律
每日的视频发布量有比较明显的波动,如果你去看大图(已上传),会发现每一次波动都是一个星期。
如果我们按每周一~日来合并统计,就会得到:
周末的发布量明显高于工作日,而周五是发布的高峰。
发布量反映的是作者的行为,而弹幕量则能反映出观众的行为。
对2019年1~5月播放量前1w视频的弹幕发布时间进行了分析:
弹幕发布量同样呈现周期性,且比视频发布略滞后一天,峰值在周六周日。说明大家还是周末刷B站比较多。
我们将两个曲线归一化对比就比较明显了:
如果按每天的24小时进行合并统计,也会发现很明显的规律:
中午是小高峰,晚上是大高峰;
弹幕依旧滞后于视频
谁才是大佬?
对于播放量过50w视频的作者,做一个排序(非最新数据):
粉丝数前20
视频播放总量前20
视频平均播放量前20
将视频总数/播放总量/粉丝数3个维度结合,综合成一张图表:
可点击查看大图,或从项目中获取
圈越大代表粉丝越多,越靠近左上说明效率越高(平均播放量高),越靠近右边说明UP主越勤劳。
因为B站上的“贫富分化”真的很明显,数据量跨度极大,所以这张图用了对数坐标。
特别看了下图上几个比较突出的点的详细数据:
UP主 - 发布视频数 - 播放总数 - 粉丝数
什么内容最受欢迎?
对于播放量过1w视频的标签,做了一些统计:
相关视频量前20
播放总量前20
平均播放量前20(只统计视频量>100的)
平均收藏前20(基于播放量过10w视频,标签相关视频量>100的)
这是一张针标签平均弹幕量和标签平均播放量的散点图:
总体来说,对于热门标签,播放量和弹幕量都会非常高;但一般标签,播放量和弹幕量的相关性并不是特别大。
把标签按视频总数、播放总量、全部评论量、全部弹幕量取Top100,绘制出词云:
如果把标准改成 平均播放量、平均评论量、平均弹幕量,则是:
看来有两位同志今年上半年很火啊!
全站标题高频词云:
高频弹幕词云:
关于项目的一些说明
抓取部分并无特别难度,在 github 项目页面,我们附上了具体的文档说明和代码注释。
如果你上个月参与了我们的爬虫学习小组,现在应该也可以参照代码顺利完成抓取部分的工作。
而关于数据可视化的内容,我们也很快会开展相关小组。请留意我们公众号和群里的通知。
本文分享自 Crossin的编程教室 微信公众号,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体同步曝光计划 ,欢迎热爱写作的你一起参与!