专栏首页Crossin的编程教室B站用户行为分析非官方报告

B站用户行为分析非官方报告

上次,我们做了一个B站/知乎大V排名监控工具用python爬虫追踪知乎/B站大V排行)。

有读者问,这个初始数据是怎么获取的?我说是来自于一个分析项目的副产品。

这个项目就是今天给大家展示的内容:

关于 bilibili 上用户行为的统计分析

因为完成统计已经有一段时间了,所以数据并非最新的实时数据

本项目由我们的实训生兼助教 清风小筑 完成。

获取代码、数据、图片及说明文档见文末

数据来源

分析数据基于 bilibili 网站上的公开信息,主要采集了以下数据维度:

  1. 2016年~2019年5月,每月各分类视频发布数
  2. 2019年1~5月,播放量过1w视频的标签、播放数、发布时间
  3. 2019年1~5月,播放量过10w视频的弹幕数、评论数、收藏数
  4. 2019年1~5月,播放量过50w的作者粉丝数、播放总数、视频数

之所以其中选择了 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主 - 发布视频数 - 播放总数 - 粉丝数

  1. 暴走漫画 - 65 - 9.73亿 466.61万
  2. 哔哩哔哩番剧 - 8382 - 112.89亿 - 78.42万
  3. TAKERA - 18665 - 2.49亿 - 32.14万
  4. 柚子木字幕组 - 10864 - 9.97亿 - 306.05万

什么内容最受欢迎?

对于播放量过1w视频的标签,做了一些统计:

相关视频量前20

播放总量前20

平均播放量前20(只统计视频量>100的)

平均收藏前20(基于播放量过10w视频,标签相关视频量>100的)

这是一张针标签平均弹幕量和标签平均播放量的散点图:

总体来说,对于热门标签,播放量和弹幕量都会非常高;但一般标签,播放量和弹幕量的相关性并不是特别大。

把标签按视频总数、播放总量、全部评论量、全部弹幕量取Top100,绘制出词云:

如果把标准改成 平均播放量、平均评论量、平均弹幕量,则是:

看来有两位同志今年上半年很火啊!

全站标题高频词云:

高频弹幕词云:

关于项目的一些说明

  1. 使用了哔哩哔哩网页版的视频、作者信息、弹幕、热评 API 进行数据抓取
  2. 使用 MongoDB 存储数据。为了方便学习者使用,另转存了一份 JSON 格式数据可直接导入
  3. 开发环境:python3.7 / Windows / jupyter notebook
  4. 运行依赖包:
  • requests
  • matplotlib
  • numpy
  • pymongo
  • pickle
  • jieba
  • wordcloud

抓取部分并无特别难度,在 github 项目页面,我们附上了具体的文档说明和代码注释。

如果你上个月参与了我们的爬虫学习小组,现在应该也可以参照代码顺利完成抓取部分的工作。

而关于数据可视化的内容,我们也很快会开展相关小组。请留意我们公众号和群里的通知。

本文分享自微信公众号 - Crossin的编程教室(crossincode)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-09-09

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 知乎Python大佬带你10分钟入门Python爬虫(推荐收藏)

    爬虫(spider,又网络爬虫),是指向网站/网络发起请求,获取资源后分析并提取有用数据的程序。

    叫我龙总
  • Github | 高效微信公众号历史文章和阅读数据爬虫

    项目地址:https://github.com/54xingzhe/weixin_crawler

    JAVAandPython君
  • 腾讯广告:广告场景下有哪些视觉算法应用?

    今年 7 月,2019 腾讯广告算法大赛「终极之战」在深圳腾讯滨海大厦顺利举行。本次总决赛现场,腾讯广告高级应用研究员石瑞超为大家带来了题为《广告场景下的 AI...

    AI研习社
  • 抓包工具tcpdump用法说明

    tcpdump采用命令行方式对接口的数据包进行筛选抓取,其丰富特性表现在灵活的表达式上。

    用户5807183
  • .NET Core玩转爬虫系列之借助正则表达式入门篇

    模拟登录 -> 模拟发送request请求 -> 取回response数据 -> 提取所需信息并将其进行重新组织 -> 存入DB或文件中 -> 后期处理或展示

    Edison.Ma
  • selenium 的显示等待与隐式等待

    现在很多的网页都采用了 Ajax 技术,那么采用一般的静态爬虫技术会出现抓取不到页面的元素。比如歌曲的主页会有评论数量,一般评论数量是动态加载的。 所以这就...

    张凝可
  • 浅谈爬虫工作中HTTPIP的重要性

    我们都知道,网络爬虫能够有自己的发展空间就是因为用爬虫程序抓取网页信息便捷、高效、迅速,但是同时也要小心IP地址受限制。很简单的一个道理,比如说我们自己现在有一...

    用户6049522
  • 什么是负面SEO 如何处理负面SEO?

    整个SEO行业在过去两年中经历了重大转变。因此,许多网站推广员已经大大改变了他们的策略,在竞争激烈的SEO行业中,试图让网站排名前三,貌似并不向早期SEO,那么...

    蝙蝠侠IT
  • WEB前端-搜索引擎工作原理与SEO优化

    搜索引擎具有网络爬虫或蜘蛛来执行爬网,每次抓取工具访问网页时,它都会复制该网页并将其网址添加到索引中。

    Leophen
  • 最通俗的 Python3 网络爬虫入门

    http://cuijiahua.com/blog/2017/10/spider_tutorial_1.html

    昱良

扫码关注云+社区

领取腾讯云代金券