爬取并分析一下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.词云分析
最后,小编抓取了榜单排行第一位的视频《众所周知,猫是一种尊老爱幼的动物》的弹幕,并进行了去重,来看一下弹幕中大家提及的关键词都有哪些吧。
.markdown-body pre, .markdown-body pre>code.hljs { color: rgba(51, 51, 51, 1); background: rgba(248, 248, 248, 1) }
.hljs-comment, .hljs-quote { color: rgba(153, 153, 136, 1); font-style: italic }
.hljs-keyword, .hljs-selector-tag, .hljs-subst { color: rgba(51, 51, 51, 1); font-weight: 700 }
.hljs-literal, .hljs-number, .hljs-tag .hljs-attr, .hljs-template-variable, .hljs-variable { color: rgba(0, 128, 128, 1) }
.hljs-doctag, .hljs-string { color: rgba(221, 17, 68, 1) }
.hljs-section, .hljs-selector-id, .hljs-title { color: rgba(153, 0, 0, 1); font-weight: 700 }
.hljs-subst { font-weight: 400 }
.hljs-class .hljs-title, .hljs-type { color: rgba(68, 85, 136, 1); font-weight: 700 }
.hljs-attribute, .hljs-name, .hljs-tag { color: rgba(0, 0, 128, 1); font-weight: 400 }
.hljs-link, .hljs-regexp { color: rgba(0, 153, 38, 1) }
.hljs-bullet, .hljs-symbol { color: rgba(153, 0, 115, 1) }
.hljs-built_in, .hljs-builtin-name { color: rgba(0, 134, 179, 1) }
.hljs-meta { color: rgba(153, 153, 153, 1); font-weight: 700 }
.hljs-deletion { background: rgba(255, 221, 221, 1) }
.hljs-addition { background: rgba(221, 255, 221, 1) }
.hljs-emphasis { font-style: italic }
.hljs-strong { font-weight: 700 }
想要获取更多Python学习资料可以加QQ:2955637827私聊或加Q群630390733大家一起来学习讨论吧!
爬取并分析一下B站的最热视频排行榜,看看大家都喜欢看什么视频的更多相关文章
- 用Python介绍了企业资产情况的数据爬取、分析与展示。
前言 文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者:张耀杰 PS:如有需要Python学习资料的小伙伴可以加点击下方链接自 ...
- 【php爬虫】百万级别知乎用户数据爬取与分析
代码托管地址:https://github.com/hoohack/zhihuSpider 这次抓取了110万的用户数据,数据分析结果如下: 开发前的准备 安装Linux系统(Ubuntu14.04) ...
- 针对源代码和检查元素不一致的网页爬虫——利用Selenium、PhantomJS、bs4爬取12306的列车途径站信息
整个程序的核心难点在于上次豆瓣爬虫针对的是静态网页,源代码和检查元素内容相同:而在12306的查找搜索过程中,其网页发生变化(出现了查找到的数据),这个过程是动态的,使得我们在审查元素中能一一对应看到 ...
- 爬虫第六篇:scrapy框架爬取某书网整站爬虫爬取
新建项目 # 新建项目$ scrapy startproject jianshu# 进入到文件夹 $ cd jainshu# 新建spider文件 $ scrapy genspider -t craw ...
- 一个简单的爬取b站up下所有视频的所有评论信息的爬虫
心血来潮搞了一个简单的爬虫,主要是想知道某个人的b站账号,但是你知道,b站在搜索一个用户时,如果这个用户没有投过稿,是搜不到的,,,这时就只能想方法搞到对方的mid,,就是 space.bilibil ...
- python 爬取腾讯微博并生成词云
本文以延参法师的腾讯微博为例进行爬取并分析 ,话不多说 直接附上源代码.其中有比较详细的注释. 需要用到的包有 BeautifulSoup WordCloud jieba # coding:utf-8 ...
- Python爬虫入门教程 15-100 石家庄政民互动数据爬取
石家庄政民互动数据爬取-写在前面 今天,咱抓取一个网站,这个网站呢,涉及的内容就是 网友留言和回复,特别简单,但是网站是gov的.网址为 http://www.sjz.gov.cn/col/14900 ...
- Python爬虫入门教程 14-100 All IT eBooks多线程爬取
All IT eBooks多线程爬取-写在前面 对一个爬虫爱好者来说,或多或少都有这么一点点的收集癖 ~ 发现好的图片,发现好的书籍,发现各种能存放在电脑上的东西,都喜欢把它批量的爬取下来. 然后放着 ...
- python3网络爬虫(2.1):爬取堆糖美女
额,明明记得昨晚存了草稿箱,一觉醒来没了,那就简写点(其实是具体怎么解释我也不太懂/xk,纯属个人理解,有错误还望指正) 环境: 版本:python3 IDE:pycharm2017.3.3 浏览器: ...
随机推荐
- LeetCode周赛#209
1609. 奇偶树 #广搜 #二叉树的层次遍历 题目链接 题意 如果一棵二叉树满足下述几个条件,则可以称为奇偶树 : 二叉树根节点所在层下标为 0 ,根的子节点所在层下标为 1 ,根的孙节点所在层下标 ...
- 关于热力图的loss的一点感想
网络的输出的热力图和gt相减的差矩阵,求其最大特征值的平方作为loss. 若图像h w不相等,可以使用奇异值代替特征值.奇异值往往对应着矩阵中隐含的重要信息,且重要性和奇异值大小正相关.每个矩阵A都可 ...
- Cloud-Native! 实战 Helm 3 部署 Traefik 2
介绍 Traefik 是什么? Traefik, The Cloud Native Edge Router Traefik 是一种现代 HTTP 反向代理和负载均衡器,用于轻松部署微服务. 这篇文章对 ...
- crash安装使用
cash作为Linux内核调试的工具是必不可少少的一部分,但是他的下载并不是 yum install一下这么简单的,本文就来讲一下如何安装crash进行调试. 首先就是了解Linux的内核版本.这 ...
- 后端程序员必备的 Linux 基础知识
1. 从认识操作系统开始 正式开始 Linux 之前,简单花一点点篇幅科普一下操作系统相关的内容. 1.1. 操作系统简介 我通过以下四点介绍什么是操作系统: 操作系统(Operating Syste ...
- IDEA无法识别src目录
如图 如此 即可 -------------------------------------------------------------------- 另一种办法是:让IDEA识别出module, ...
- celery使用-win10和linux
win10启动方式 celery -A celery_tasks.main worker -l debug -P eventlet linux启动方式 /usr/local/bin/celery ce ...
- 搭建ARL资产安全灯塔
老年人了,只能靠安装部署项目混混日子这样~ 简介: 斗象TCC团队正式发布「ARL资产安全灯塔」开源版,该项目现已上线开源社区GitHub.ARL旨在快速侦察与目标关联的互联网资产,构建基础资产信息库 ...
- pytorch实战(二)hw2——预测收入是否高于50000,分类问题
代码和ppt: https://github.com/Iallen520/lhy_DL_Hw 遇到的一些细节问题: 1. X_train文件不带后缀名csv,所以不是规范的csv文件,不能直接用pd. ...
- 混合云存储打开的正确姿势——腾讯云存储网关 CSG
近年来,随着云计算的发展,越来越多的企业选择将IT系统基础设施转移到云上,上云有助于推动企业加快信息化.数字化.智能化的转型,但是很多企业对传统的业务系统依赖程度较高,短时间内将业务迁移上云将会面临很 ...