Python爬取并分析B站最热排行榜,我发现了这些秘密
现在大家的生活中,已经越来越离不开B站了,2020年的第一季度,B站月活跃用户达到了1.72亿,日活跃用户也已经突破了5000万个用户。源源不断的流量让B站的up主们也是粉丝数目不断暴涨,百万粉丝的up主比比皆是。
今天,小编就带领大家来爬取并分析一下B站的最热视频排行榜,看看大家究竟都喜欢看什么样子的视频~~
01.榜单信息抓取
对于榜单的爬取,我们爬取了榜单的前一百名视频的播放量,弹幕数量,以及视频的点赞、投币、收藏和up主的粉丝数目等信息。
对于排行榜的播放量、弹幕数量和视频链接的爬虫程序,如下图所示:
由于网页是静态网页,所以我们可以直接采用requests请求的方式,来获取网页源代码,然后使用beautifulsoup来进行网页的解析,并抓取我们需要的信息。对于每个网页的点赞、投币、收藏和up主的粉丝数量。
可以采用我们之前介绍的web scraper来进行抓取(牛逼的chrome插件,不用一行代码,轻松爬取各大网站公开信息!(附视频))。最后将两部分的内容进行合并,得到最终的抓取信息。
对于数据中存在的字符串类型的数值,例如观看数量为“122万”,已经经过数据清洗转化为int类型的数值。
02.数据分析
接下来,我们来看一下,最热视频排行榜前十位中,up主们的粉丝数量的分布情况,程序如下图所示:
首先,我们对数据按照粉丝数量的数值进行降序排序,然后将前十名的粉丝数量进行按“万”为单位进行计数,最后利用pyecharts中的Bar类来及进行可视化的展示。结果如下。
可以看到,粉丝数量排名最高的up主是“罗翔说刑法”,粉丝数量超过了1000万,妥妥的B站超级up主,也说明了在B站上小伙伴们不仅是为了娱乐,还可以在B站上进行学习。大家看看前十的排行中,有没有大家关注的up主呢?
03.可视化展示
接下来,我们对于排行榜中弹幕的数目进行一个分布的可视化展示:
程序中 ,我们首先将弹幕的数量进行一个分段的划分,分别为0-5000,5000-10000一直到25000-30000,然后创建一个Pie类对象,进行数据的可视化展示。
可以看到,视频的弹幕数量中,有62%的是在0-5000的范围内,视频的个数随着弹幕数量的增加而呈现快速减少的趋势,弹幕数量在25000到30000之间的视频只有一个。这也符合大家正常的观看趋势。
那对于视频的点赞数目的视频分布又是怎样的呢?
上图中横坐标对应的是不同的点赞数量分布区间,利用0到2万指的是,点赞数在0到2万次,而纵坐标对应的就是视频的数量;
从点赞数和视频的分布数量来看,呈现了不规则的趋势,点赞在2万到4万和12万赞以上的视频数目是最多的;
而点赞在0到2万的视频数目是最少的,看来大家对于视频是不会吝啬自己的“赞”;
另一方面,相比于发弹幕,点赞的操作更加的便捷,也也许就是大家更愿意点赞的原因吧。
04.词云分析
最后,小编抓取了榜单排行第一位的视频《众所周知,猫是一种尊老爱幼的动物》的弹幕,并进行了去重,来看一下弹幕中大家提及的关键词都有哪些吧。
另外我们在B站也录制了一些趣味的 Python实战案例的视频详细解读源码的细节和大家记得来B站(菜鸟玩Python)找我们。https://space.bilibili.com/488689252
B站视频:
80行Python轻松一键转word
用Python画微信最新的6个表情包
我用Python 分析了42000条冰雪奇缘2的短评
用Python带你全世界旅游
用Python实现Instagram滤镜,变成百变女神
用Python一键把漫画转pdf
用Python做一个20年编程语言的动态排行榜
花木兰到底好看不,我爬取了几万条评论
近期九大热门:
程序员GitHub,现已正式上线! 接下来我们将会在该公众号上,为大家分享GitHub上优质的开源神器,程序员圈的趣事,坚持每天一篇原创文章的输出,感兴趣的小伙伴可以关注一下哈!
点这里,领取新手福利