基于Python的哔哩哔哩视频网视频热度分析毕业论文Word文档下载推荐.docx
- 文档编号:21973103
- 上传时间:2023-02-02
- 格式:DOCX
- 页数:27
- 大小:1.09MB
基于Python的哔哩哔哩视频网视频热度分析毕业论文Word文档下载推荐.docx
《基于Python的哔哩哔哩视频网视频热度分析毕业论文Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《基于Python的哔哩哔哩视频网视频热度分析毕业论文Word文档下载推荐.docx(27页珍藏版)》请在冰豆网上搜索。
但随着中国近十多年来互联网的快速发展,该视频网站也慢慢地扩展了其他的业务,例如一些电子商务和手机游戏等。
但其特殊之处还不止这些,与优酷和腾讯等其他视频网站不同,Bilibili在ACG文化以及弹幕文化方面上显得独树一帜。
随着Bilibili游客数量的快速增长,它的内容也越来越丰富,除了占主导地位的主题之外,现在的Bilibili还提供了各个领域的视频,包括音乐、舞蹈、科学、技术、娱乐、电影、戏剧、时装、日常生活以及广告电影。
此外,Bilibili还提供实时流媒体服务,观众可以与流媒体进行互动。
通常这些主题都是关于动画、内容创建与游戏策略等。
Bilibili与其他平台相比,其用户忠实度更高,据其招募报告称,其成员的12个月保留率高达79%,而2009年注册的用户中有60%今天仍然活跃。
此外,年龄在15-45岁之间的用户占平台总体用户基础的78%。
Bilibili的平均用户每天在该平台上花费超过78分钟,观看每月上传的240万个视频中的一些。
Bilibili凭借其独特而活跃的内容社区吸引用户,也是该网站用户数量激增的原因。
而自2018年9月以来,它在12个月内获得了3500万的MAU。
1.2国内外研究现状
作为当代网民最重要的娱乐方式之一的网络视频已经成为当今互联网世界的第五大应用。
而在这个互联网数据的时代,网络视频拥有大量的用户数据,对网络视频的分析研究能够知道当代网民对视频的喜爱类型,对今后网络视频的可持续发展有着重要的意义。
马翔[1]为了能够实现视频网站分析平台的用户数据可视化应用模型,他从人机交互和可视化等综合视角出发,带领视频制作团队实现把用户的数据向节目形式和内容的转化,也提出了用可视化的数据挖掘以及分析用户的爱好习惯的观点。
崔楠,郭俞,张会雄[2]使用Python网络蜘蛛作为工具对哔哩哔哩视频网获取了大量的弹幕数据,并这些数据进行了挖掘分析,由此间接地评价了视频的内容,最终结果展示了流行短视频的独特评价,对短视频的作者和平台都具有一定的参考价值。
他们基于这种弹幕的研究方法也为视频内容的自动识别与评价提供了新的思路。
徐璐[3]使用获得的Web用户日志分析出观看视频用户的一些选择和观看的视频评分之间的矩阵关系。
通俗来讲就是建立用户的兴趣模型来发现观看视频用户的喜好,在此过程中,她还对协同过滤算法中一些计算方法进行了改进,使其模型能够主动向用户提供他们喜好观看的一些的视频。
顾军华,高星,王守彬,等[4]以新媒体等视频大数据为基础在Spark上建立了BP神经网络视频评估模型。
还以传统媒体等视频方面的影响度为基础不断地去完善其评估体系。
最后还建立了基于IPTV的大数据,并且能够反映其用户群体的喜好类型评分策略的BP神经网络评估模型。
1.3章节安排
本篇论文总共有5个章节,每一个章节的主要内容如下:
第1章是绪论章节,主要介绍研究背景和国内外的一些研究现状,接着介绍本文的结构。
第2章主要介绍了本文使用的相关技术,包括有Scrapy框架、Pandas库和pyecharts库。
第3章为基于Scrapy的数据抓取,首先介绍了如何根据页面分析对网页数据进行抓取,然后展示了部分数据结果,并对数据进行了预处理。
第4章主要为数据分析,分别对分区占比、平均播放量、平均三连情况、各区平均播放以及热门标签进行数据分析并可视化。
第5章是结论,总结本论文所做的工作以及展望。
第二章相关技术介绍
2.1Scrapy框架
Scrapy框架在Python语言中处理复杂情况的一种工具。
它是一种强大的网页蜘蛛框架,不仅能够轻松构建请求,并且能轻松解析响应。
它的性能非常高甚至还可以将网页蜘蛛这种程序工程化以及模块化。
Scrapy框架主要包括:
(1)引擎:
主要工作负责项目管道、网页蜘蛛、下载器、调度器中间的通讯、信号分析以及相关数据信息传递等。
(2)调度器:
主要负责接收来自引擎发送的请求,并组织和布置以某种方式入队,当被需要时返回到引擎。
(3)下载器:
主要工作负责下载引擎发送的所有请求,并将其获取到的响应交还给引擎,并由相关引擎交给网页蜘蛛来处理。
(4)网页蜘蛛:
主要负责处理所有响应,从中分析提取数据并获得项目字段所需的数据,向引擎提交需要跟踪的URL并又一次进入到调度器之中。
(5)项目管道:
从爬行器中获取的项目进行处理和后处理的地方。
Scrapy的运行流程基本如下:
(1)首先,引擎从调度程序中检索的URL作为初始目标的检索程序,并开始从此URL抓取。
(2)其次,URL被引擎封装为请求并且传送给下载器,下载器把资源下载到本机后再封装为响应。
(3)网页蜘蛛接收响应同时调用回调函数。
2.2Pandas库
Pandas库的创始人是一位名叫WesMcKinney的开发人员开发出来的,其开发Pandas库的目的在于能够对所得到的数据进行更加精准的操作分析以及建模等。
而在此出现之前,Python只能够简单的对数据进行处理以及作出一些准备,而对于如今的数据分析的贡献并不是很大。
而目前作为一个开源的Pandas,已经能够利用其强大的功能为数据处理提供高性能的处理和分析了。
而如今带有Pandas库的Python语言已经在广泛的领域中使用,其中就包括有学术、商业、金融、经济学、统计和分析等。
Pandas库的主要特点:
(1)具有快速高效的数据框架对象,具有默认和自定义索引。
(2)处理数据对齐和丢失数据。
(3)将不同文件格式的数据加载到内存中的数据对象工具。
(4)可以把日期一期重新塑造以及设置。
(5)可以删除或插入数据结构中的列。
(6)基于标签的切片,大数据集的索引和子集。
2.3pyecharts库
Pyecharts库作为Python中一个图表的库,使用它生成的图表的可观程度非常的高,对数据进行分析起来十分的方便,通过图表数据与数据的比较更容易得出数据分析的结果。
Pyecharts库的主要特点:
(1)能够支持链式的调用,并且能够实现简单干净的API设计。
(2)能提供三十多种的常用图表。
(3)带有JupyterNotebook和JupyterLab并支持当下的Notebook环境。
(4)可轻松集成到Flask和Django等主流的Web框架。
(5)拥有四百个以上的地图文件,也能够支持地理数据的可视化实现。
(6)为新手开发项目提供更多的文档支持。
第三章基于Scrapy的数据抓取
3.1页面分析
如图3.1为Bilibili排行榜页面,在对网页的数据抓取前首先需要分析其页面结构。
如图3.2为网页的html结构,排行榜页面仅有题目,作者,观看量,评论数,综合得分等数据,更多数据需要进入视频详情页面进行抓取。
如图3.3为视频详情的html结构,视频详情页面可以获取与播放视频相关的一些播放量、三连量、转发量、热门标签等信息,我们都可以通过xpath方法来抓取这些在div标签的信息。
图3.1排行榜页面
图3.2排行榜页面代码
图3.3视频详情代码
3.2数据结果
表3.1为本文获取数据格式,表3.1展示了其中的九行数据,包括了作者、投币数、弹幕数、三连数、作品id、点赞数、类别,回复数、得分、分享数、观看数、题目以及标签十三列的数据内容。
表3.1原始数据表
作者
投币数
弹幕
三连
id
点赞数
类别
快乐的Ler
512542
33196
483846
95473051
611191
全站
飞鱼不在天
258817
11827
549288
91835249
279854
落桑西
459001
94641
176051
90609023
858630
翘课迟到
439529
52948
364032
89558467
582909
奶糕成精档案社
229076
3417
95822
91675841
268103
维C永不加班
42632
1111
37234
94459523
56127
动画
可口的红糖
126985
9941
107398
91060138
208720
国创相关
是珍珍又是希希
2332
249
8052
91494360
5292
舞蹈
明月庄主moon
50276
16087
92082
83110308
58720
游戏
续表3.1原始数据表
回复数
得分
分享
观看数
题目
标签
15158
12345441
52467
4887831
“ᴰᵒʸᵒᵘᴸⁱᵏᵉᴿᵃⁱⁿ”“ᴵᴾʳᵉᶠᵉʳʸᵒᵘ”
MAD.AMV,天气之子,全能打卡挑战,宫崎骏,你的名字,新海诚,MAD,影视剪辑,BGM,多素材,纯音乐
9368
12771440
23062
3123675
这十个软件,让你的电脑舒适度提升1400%
数码,Windows,电脑,软件,演示,推荐,微软
118098
6413057
67925
8418668
B站现状
搞笑,全能打卡挑战,B站,恶搞,BILIBILI,哔哩哔哩,搞笑视频
42482
6759959
247931
5520288
处处零
搞笑,翻唱,处处吻,全民音乐UP主,搞笑翻唱,恶搞
4572
3202361
46464
1602855
孩子要出道了,《被迫营业》MV正式首发!
!
萌宠,宅家vlog挑战,可爱,动物圈,日常,搞笑
878
1171017
4153
337412
【全员踩点】JO厨兴奋剂
MAD.AMV,JOJO的奇妙冒险,AMV,JOJO,MAD,燃,踩点,脑洞搞笑,热血,搞笑
6151
3287288
31796
2246312
看的我热血沸腾,看完你可能要重新认识喜羊羊
童年回忆杀,喜羊羊与灰太狼,国产动画,bilibili新星计划,童年,热血,催泪向,动漫,动画,剪辑
435
367972
490
215874
【希希】Senorita穿衬衫的小老虎
明星舞蹈,街舞,舞蹈,全能打卡挑战,性感,爵士舞
1231
1077323
6984
554399
我的世界基岩版从零开始学红石《合集》by明月庄主
手机游戏,红石教程,沙盒游戏,明月庄主,教程,我的世界红石,我的世界手机版,我的世界PE,我的世界基岩版
3.3数据预处理
数据清理主要是通过删除或修改不正确、不完整、不相关、重复或者格式不正确的数据来准备要分析的数据的过程。
在分析数据时,此数据通常不是必需的或无用的,因为它可能会阻碍过程或提供不准确的结果。
有几种清理数据的方法,具体取决于数据的存储方式以及所寻求的答案。
数据清理不仅涉及擦除信息以为新数据腾出空间,还在于寻找一种方法来最大化数据集的准确性而不必删除信息。
一方面,数据清除包括比删除数据更多的操作,例如修复拼写和语法错误,标准化数据集以及更正错误,例如空字段,缺少代码以及识别重复的数据点。
另一方面,数据清理被认为是数据科学基础的基础要素,因为它在分析过程中扮演着重要角色,并能够找到可靠的答案。
最重要的是,数据清理的目的是创建标准化且统一的数据集,以允许商业智能和数据分析工具轻松访问并为每个查询找到正确的数据。
从本次采集到的数据中发现并缺失值,而且采取数据有1300行和13列。
由于全站榜包含在各分区靠前的视频中,而在rank_tab中有一个全站榜的数据,所以这里就要把全站榜除外,避免重复计算。
df_without_all=df[~df['
rank_tab'
].isin(['
全站'
])]
由上面的一行代码可把“全站”这个元素整行进行排除,这样就能够得到一个名为df_without_all的Dataframe,由此一来便能够简单地把收集来的数据进行了一个预清洗。
第四章数据分析
4.1分区占比可视化
首先对预处理好的数据按照综合评分进行降序排序,然后再对其进行切片处理,接着获取分区名列的前100项的数据,最后再统计每一个分区出现次数进行返回处理。
得到的分区占比可视化由下图所示。
图4.1分区占比可视化
从图4.1中可以看出,在综合评分top100当中,代表当代年轻人喜爱的二次元动画所占比例为21%,仅排名第二。
但是生活类的视频却超过动画类视频并占且据第一位。
根据对二次元的定义,整体看的话完全属于二次元的视频比例占24%,二次元至今依然是B站的主力军。
在2018年的B站资料数据中显示,所有频道中播放量TOP5的分别是娱乐、生活、游戏、动画和科技区。
与我们数据相比较,生活、动画类视频的排名分别提升到了第1名和第2名,而娱乐、游戏、科技类视频则跌出榜单,位列倒数,但时尚、鬼畜、音乐类的视频则成为了新秀。
4.2平均播放量可视化
在对综合评分top100视频的平均播放量进行可视化的时候,这里选择了用柱形图来对获取的数据进行进一步的可视化。
把综合评分top100的视频平均播放量作为指标,而视频类型的名称作为维度,然后生成柱形图。
由于Pyecharts起初生成的图表为html的格式,这里为了方便就利用snapshot_selenium把html直接转为png格式。
图4.2平均播放量可视化
4.3平均三连情况可视化
虽然前面已经初步可视化出top100综合评分视频的平均播放量,但是由于平均播放量的单位是人次而不是人数,为了更加全面的反映出在B站用户的具体喜爱的视频类型。
这里还需要对B站用户在top100综合评分视频中的点赞、投币和收藏的三连情况进行可视化操作。
图4.1-图4.6是综合评分top100中各分区平均三连情况分析,这里依旧是用snapshot_selenium把html直接转为png格式,但是选择的是雷达图来对获取的数据进行进一步的可视化。
具体如下图所示。
图4.3点赞情况可视化
图4.4投币情况可视化
图4.5收藏情况可视化
图4.6三连情况可视化
由以上三张雷达图可以看出,在点赞人数里,影视区的视频拥有最高的点赞量,其次为生活区;
在投币人数里,生活区的视频拥有最高的投币量,其次为动画区;
在收藏人数里,时尚区的视频拥有最高的收藏量,其次为影视区。
4.4各区平均播放可视化
为了进一步对B站用户喜爱视频类型全面了解,若仅是对全站中的top100综合评分视频的数据分析可能还不足达到比较全面的效果。
所以下面我将对所有视频分区的top100综合评分的视频的平均播放量进一步进行分析。
首先对前面提及的df_without_all按照分区名来进行分类,其次再统计出各个分区情况数据的平均值,最后完成后存入csv文件中。
如此一来便完成简单的数据预处理。
之后这里选择折线图对视频平均播放量的数据进行可视化,用前面所提及的方法转化为以下的图表。
图4.7各区播放量可视化
由图4.7可以看出,在各视频分区的top100综合评分之中,鬼畜区的平均播放量为最高,其次为生活区,第三为动画区,相比于以往的生活区和动画区,相比于其它网站没有而作为B站独有特色的鬼畜区的平均播放量在这次有所上升。
4.4热门标签可视化
在对视频进行了平均播放量的可视化分析之后,最后可以再对视频的热门标签进行可视化的分析。
因为在B站的视频之中,每一个视频都有不同的标签,而数量众多的视频的标签加起来就会出现标签重复的情况。
所以接下来需要对视频标签进行一个去重的工作,求出唯一的标签,再去计算每一个标签出现的次数。
该过程稍微比较复杂,首先要在tag_name得到所得数据,然后创建一个特定规格的Dataframe,命名后遍历df_without_all[‘tag_name’],如果与tag_df的columns对应,则将tag_df中对应的columns*index单元格赋值为1,最后对每一列的1进行求和。
以上方法虽然比较复杂,但是Pandas库里有更加简便的方法能够去实现这种复杂的操作。
该方法在df_without_all的tag_name列提取热门的标签,然后把热门的标签数据作为一维的列表,再转化为之后,调用方法进行赋值。
其热门可视化如下图。
图4.8热门标签可视化
由图4.8可以看出,今年的热门视频标签与之前B站所统计的热门视频标签相对比,在B站热门视频标签出现最多的仍然是搞笑标签,而鬼畜和Bilibili新星计划等几个标签作为B站独有的文化仍然比较显眼,而且在今年的视频标签中能够发现挺多与生活相关的标签,这说明每一年的视频标签都在不停地变化。
第五章总结与展望
5.1工作总结
此次的毕业设计虽然耗时三四个月,但是作为对自己四年大学的一个总结,还是经过不懈努力把它完成了。
从选题到开题报告,再从开题报告到毕业设计的实现以及论文的撰写都需要查阅大量的课题资料与实现该设计的涉及的相关技术的文档和书籍。
通过这三四个月的不断学习与动手实践,也以这种一边学习一边动手的方式逐渐熟悉了基于Python对网站中网络视频的数据爬取和数据分析。
它与其他的视频网站用户相比较,其用户忠实度更高,据其招募报告称,其
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 Python 哔哩哔哩 视频 热度 分析 毕业论文
![提示](https://static.bdocx.com/images/bang_tan.gif)