分享好友 最新动态首页 最新动态分类 切换频道
b站爬虫大作业(大二)--(利用selenium模块爬取数据、利用pyecharts模块制作可视化图表)(bilibili数据可视化)
2024-12-27 04:37

一、爬取前期准备工作

二、爬取目标

三、爬取过程(重点

四、生成可视化图表

五、全部代码

b站爬虫大作业(大二)--(利用selenium模块爬取数据、利用pyecharts模块制作可视化图表)(bilibili数据可视化)

1.安装selenium模块及其相关驱动

安装selenium模块(以PyCharm为例

方法一:打开PyCharm,依次点击 “文件”--->“设置”--->“python解释器”--->选择适合的环境(环境可以自己新建,也可以使用基础环境,不过建议新建一个)--->“加号”进入如下页面

输入“selenium”选择版本为“3.141.0”(这里一定要使用这个版本或者附近的版本,不要用最新的版本,最新的版本有些老的指令被废掉了,使用起来不方便,用这个版本就行了

方法二:打开命令行,进入自己指定的环境或者基础环境,输入“pip install selenium==3.141.0”,一样也可以下载selenium模块。

2.安装chrome以及chromedriver(以chrome为例,firefox等等参考其他教程吧,这里我只用了chrome

chrome可以随便百度搜索安装一下,但是要注意版本问题,最好使用114版本一下的,因为chromedriver的目前版本114以上的不好用,很少,chromedriver版本要和chrome版本对应,不然运行的时候会报错。

我使用的是109版本的chrome

下载链接:Chromev109.0.5414.120下载-Chrome2023最新版下载_3DM软件

安装完成后大多数人会遇到一个问题------chrome会自动升级,它会自动升级到116版本甚至116版本以上,这个时候就需要我们手动设置来阻止chrome自动升级。

如何阻止chrome自动升级呢

在下载完chrome后,先别急着打开chrome。一般下载完chrome后桌面会自动创建快捷方式,右键点击快捷方式,然后点击“打开文件所在位置”,进入程序所在根目录

之后,按照操作,选择>>>Google目录

选择>>>Update

右键>>>属性

安全>>>SYSTEM>>>编辑

全部勾选拒绝

继续选择>>>高级

最重要的一步

首先点击禁用继承

然后将所有类型为允许的条目删除

最后检查一下是否成功,点击Update文件夹,发现无权访问,那么就差不多成功了

打开Chrome,点击右上角的设置>>>帮助>>>关于Google Chrome,发现检查更新报错,那么就成功了。

接下来我们安装chromedriver,这个东西可以帮助我们运行爬虫代码,实时测试网页。

安装地址

CNPM Binaries Mirror

ChromeDriver - WebDriver for Chrome - Downloads

Download older versions of Google Chrome for Windows, Linux and Mac

注意:你的chrome浏览器是什么版本的,那你下载的这个chromedriver也要对应

我下载的chrome是109.0.5414.120

那么下载的chromedriver也要对应,不一定要完全一样,选最接近的版本就行了。

下载好之后将我们的chromedriver放到和我们python安装路径相同的目录下

其实这个时候差不多已经可以正常运行了,但有些人可能运行不了,可能是对应的环境变量没有添加(如果你把python安装目录已经添加到环境变量里面就应该没问题,有问题可能是没有完全添加进去,导致这个chromedriver系统识别不到

打开我们的查看高级系统设置,点击环境变量,打开系统变量里面的path环境。添加我们的驱动路径进去。

完成之后我们可以打开PyCharm运行一段代码

 

如果成功跳出chrome浏览器并显示已经到b站主页,那么安装就算完成了

我们要爬取什么数据,并且该利用这些数据制作什么图表。这应该是我们要最先明确的,有了目标才能事半功倍。

我们小组在进行爬取信息决策时,想出了以下5条爬取目标

1.bilibili热门榜top100视频相关数据的爬取

需要爬取内容 当前榜单top100视频的标题,up主,观看量,弹幕数, 点赞数,投币数,收藏数,转发数。

分析点 比较观看量,弹幕数, 点赞数,投币数,收藏数,转发数的差异。

2.bilibili热歌排行榜数据爬取

需要爬取内容 各个种类歌曲排行榜,MV排行榜。

分析点 统计各个种类歌曲的播放量,得出b站用户最爱哪种类型的歌曲。

3.bilibili美食区视频标签的数据爬取

需要爬取内容 视频标题,各个视频的相关标签。

分析点 分析标签词条出现频次,分析当前最热标签词条。

4.单一视频的评论数据爬取

需要爬取内容 选择一个内容新颖的视频,爬取其评论信息

分析点 分析各个评论传达出的情感态度,进行情感态度词条的统计,分析出该视频内容的好坏。

5.单一视频一周内各个参数数据的爬取

需要爬取内容 该视频一周内的观看量, 弹幕数, 点赞数, 投币数, 收藏数, 转发数。

分析点 分析该视频一周内各个数据的变化,推断出该视频的热度以及受欢迎度。

有了目标后,我们就可以开始干活了

1.bilibili热门榜top100视频相关数据的爬取

由于这个top100榜单肯定是实时变化的,所以我们的这个榜单肯定不一样,但是爬取的过程是一样的,只是爬取下来的数据不一样。

这是我写这篇文章时的榜单

接下来是爬取过程

先说一下我的爬取过程思考

第一步:先将这个总页面中的100个视频的url(链接)都爬取下来,写入一个文件url.csv里面

第二部:循环读取url.csv文件里面的100个url(链接,进入每个视频的页面,然后将每个视频的具体信息爬取下来,写入一个文件top100.csv里面。

这样视频的相关信息就被我顺利爬取下来了(其实也可以直接在读取到每个视频url时就进入每个视频页面直接爬取信息,这就省略了第一步。但是当时我没有考虑这个,坚持一步一步来,所以这里就分享这个稍微麻烦一点的方法

1.直接给出代码,下面这个是爬取top100所有视频链接的代码。

 

要注意的是:在爬取的过程中,需要我们实时加载页面,因为页面如果不加载,数据就无法被系统检测到,会导致程序卡死,这个时候我们大概率只能重新来过,如果你看懂了代码,稍微修改一下就能够实现在对应的地方继续爬虫或者重复爬虫。

爬取下来的数据差不多是这样的(这里只展示了前一部分,一共应该有100行)----第一列是url,第二列是up主名字,其实只需要第一列,第二列没啥用。

欧克!现在我们第一步就算完成了

2.直接给出代码,这里是根据上面我们爬下来的url(链接)循环爬取每个视频的相关信息

 

到这里所有得视频信息就都被我们爬取下来了,可以检查一下爬取的数据集,下面是我爬取的部分数据。

3.下面是完整代码,可以直接复制使用,爬取的是b站热门榜top100视频的相关链接与具体数据,代码会生成两个csv文件-------第一个是top100_url.csv,存储100个视频的链接;第二个是top100_details.csv,存储100个视频的具体参数及数据。(包括 1.视频标题 2.up主 3.观看量 4.弹幕数 5.点赞数 6.投币数 7.收藏数 8.转发数(数据是粗数据,只能精确到万位,对于大作业来说应该到这里就差不多了

 

欧克欧克!到这里所有的数据就爬取完成了,第一个目标就算完成了,看到这里,你应该差不多了解这个爬虫的具体过程(上面的注释详细看看

如果你不了解的话,可以找我问问,看到了问题私信的话我会回的😊

接下来直接放代码

bilibili热歌排行榜数据爬取

 

注意:这个代码不要直接点运行,推荐使用“调试”,因为程序运行很快,我们来不及加载页面。

这个代码爬取的是音乐区---->最热 里面的“全部曲风”的每一个曲风的前5页的所有视频的播放量

爬取下来又整理之后的数据集差不多是这样的数据全部都是播放量(部分

那么,第二个爬取目标也就完成了

bilibili美食区视频标签的数据爬取

 

这个代码爬取的是美食专区各栏目下视频的标签

这个代码也不能直接运行,需要调试,不会私信我,也可以自己试试看。

爬取的数据集(部分

单一视频的评论数据爬取

 

这个代码是爬取某个视频的相关评论(视频自己选,将url替换一下就可以了

在爬取时需要不断加载评论,不然代码就立刻停止了,卡在未刷新的地方。

爬取的数据集(部分

单一视频一周内各个参数数据的爬取

 

这个和第一个差不多,直接爬取了一个指定的视频的所有视频,直接输入url。

但是后面这个要做数据可视化,我们在一周内的每一天都要运行一次这个代码,这样一周之后就会有七组数据。

到此为止,数据的爬取工作就基本完成了。

爬取完数据后,接下来最后一步就是根据数据生成可视化图表了

制作图表最常用的是pyecharts模块和matplotlib模块。这里我使用的是pyecharts模块,也没有做的很豪华,只是大概的生成图表。

回顾一下我们的目标

1.bilibili热门榜top100视频相关数据的爬取

需要爬取内容 当前榜单top100视频的标题,up主,观看量,弹幕数, 点赞数,投币数,收藏数,转发数。

分析点 比较观看量,弹幕数, 点赞数,投币数,收藏数,转发数的差异。

2.bilibili热歌排行榜数据爬取

需要爬取内容 各个种类歌曲排行榜,MV排行榜。

分析点 统计各个种类歌曲的播放量,得出b站用户最爱哪种类型的歌曲。

3.bilibili美食区视频标签的数据爬取

需要爬取内容 视频标题,各个视频的相关标签。

分析点 分析标签词条出现频次,分析当前最热标签词条。

4.单一视频的评论数据爬取

需要爬取内容 选择一个内容新颖的视频,爬取其评论信息

分析点 分析各个评论传达出的情感态度,进行情感态度词条的统计,分析出该视频内容的好坏。

5.单一视频一周内各个参数数据的爬取

需要爬取内容 该视频一周内的观看量, 弹幕数, 点赞数, 投币数, 收藏数, 转发数。

分析点 分析该视频一周内各个数据的变化,推断出该视频的热度以及受欢迎度。

欧克!现在让我们开始制作图表

1.bilibili热门榜top100视频相关数据(柱状图

 

代码运行需要个7s~8s左右,主要是make_snapshot)运行时间长。

代码会生成一个html文件和一个png图片

图片参考如下

接下来直接放代码

bilibili热歌排行榜数据  (漏斗图

 

参考如下

bilibili美食区视频标签的数据  (云图

 

参考如下

单一视频的评论数据爬取  (饼状图

 

参考如下

单一视频一周内各个参数数据的爬取   (折线图

 

参考如下

到此位置,所有的数据都经过了可视化操作,生成了5张直观的图表,整个大作业到此也就结束了


最新文章
长文控诉、爆猛料!OpenAI罗列12条“罪证”,痛斥马斯克“双面人”
AI科技圈的瓜又有新花絮,马斯克与OpenAI的“爱恨纠葛”大戏甚有看头。在经历了持续且猛烈的马斯克攻击波后,这一次OpenAI终于发起了反击。12条“罪证”美东时间周五,OpenAI在官网发布“大字报”长文,控诉马斯克是“”。文章开篇,OpenAI
国产高清精品软件:打造极致视觉体验
为了打造极致视觉体验,这些软件不断进行技术创新。它们采用了先进的算法和优化技术,提高了软件的运行效率和稳定性。通过对用户需求的深入研究,不断完善功能和界面设计,使得软件更加易于使用和操作。用户可以轻松地进行各种设置和调整,
站内优化和站外优化在 SEO 中的区别是什么
在网站优化(SEO)领域中,站内优化和站外优化是两个重要的概念。站内优化指的是对网站自身的结构、内容、技术等方面进行优化,以提高网站的搜索引擎排名。这包括网页标题、网页内容、网页结构、网页加载速度等。通过站内优化,可以让搜索引擎更
青州企业互联网转型升级新动力——专业网站推广优化服务助力前行
青州一家专业网站推广优化公司,致力于帮助企业实现互联网转型升级。通过精准定位、优化策略,助力企业提升品牌知名度,拓宽市场份额,助力企业迈向数字化时代。随着互联网技术的飞速发展,越来越多的企业开始意识到线上推广和网站优化的重
金舟windows优化大师官方版
金舟windows优化大师官方版是一款实用且强大的系统优化软件,它集成了C盘清理、大文件搬家、微信专清等多项功能,可以深入分析用户的电脑的状况,清理系统垃圾文件、临时文件、回收站以及浏览器缓存等无用文件,提高系统性能,从而让电脑运
铁路12306手机售票客户端 v5.8.0.4安卓版
百度CarLife华为版是一款支持手机和车机的车载互联语音出行助手,只需要将软件与汽车进行连接就能直接投屏分享到车载之中实现互联功能,接电话、发短信、听音乐等都可以语音进行操作,在驾驶途中提供方便快捷,解放双手,出行更安全。百度C
百度蜘蛛池租用:清风算法官网蜘蛛池,助力网站优化,提升搜索引擎排名
清风算法官网提供的蜘蛛池租用服务,助力网站优化,有效提升搜索引擎排名,助力企业网络营销。本文目录导读:清风算法官网蜘蛛池简介清风算法官网蜘蛛池的使用方法清风算法官网蜘蛛池的优势随着互联网的快速发展,搜索引擎优化(SEO)成为
迈威尔科技定制HBM解决方案:AI加速器性能大幅提升
近日,迈威尔科技(MRVL.US)宣布其在高带宽内存(HBM)领域的重大突破,将为人工智能处理器带来显著的性能提升。这项创新性的定制HBM解决方案是通过与美光科技、三星及SK海力士等主要内存设计公司的合作,实现的,旨在满足日益增长的AI计
高清美女写真生成神器!体验搜狐简单AI的魅力
限时免费,点击体验最近超火的AI生图神器,坐拥3000美女的大男主就是你! https://ai.sohu.com/pc/generate/textToImg?_trans_=030001_yljdaimn 在这个数字化的时代,如何创造出一个完美的‘自己’成了许多人的追求,尤其是想要通过AI技术
网站优化中的内部链接和外部链接?
对于网站优化而言,内部链接和外部链接一定是我们经常接触到的名词,但对于许多刚接触网站的朋友这两个名词可能会有些许陌生,因此,下面就来给大家讲讲这两个我们日后会经常接触到的名词。一、内部链接 指通过用户点击此超链接,将用户从
相关文章
推荐文章
发表评论
0评