计算机毕业设计-基于Python的“哔哩哔哩视频网”视频热度分析

news2024/11/26 16:55:59

概要

  在21世纪的今天,网络发展越来越快,网上的娱乐方式也越来越多样化,而如今在网上观看视频消遣时间越来越受到大众的青睐。Bilibili视频网站是现当下年轻人最受欢迎的一个视频网站。有调查显示,直到2019年的10月份,Bilibili视频网站的用户在总体网络视频用户占比高达90%。它与其他的视频网站用户相比较,其用户忠实度更高,据其招募报告称,其成员的12个月保留率达79%,而2009年注册的用户中60%的今天仍然活跃。Bilibili是目前国内最受欢迎的综合用户网站,分析其视频热度可以从侧面分析15-45岁群体的爱好,有着重要研究意义。
  本论文为基于Python的“哔哩哔哩视频网”视频热度分析。首先讲解本文使用的相关技术,包括Scrapy框架,Pandas库和pyecharts库。然后根据页面分析使用基于Scrapy的方法对哔哩哔哩视频网数据抓取,并展示了部分数据结果,还对数据进行了预处理,接着为数据分析分别对分区占比、平均播放量、平均三连情况、各区平均播放和热门标签进行可视化,最后总结本论文所做的工作以及展望。
关键词:Scrapy;Pandas;哔哩哔哩视频网

一、研究背景与意义

  与以前我国信息交流不发达的时代相比,如今我国学会上网的人也越来越多,而国家对互联网的普及率也越来越高。导致与2018年相比较,如今中国的上网人数已经比那时提高了2%。而如今随着手机的更新换代,手机上网比用电脑上网更加便捷,有数据显示,如今使用手机上网的人数比使用电脑上网人数多3000万。
  在21世纪的今天,网络发展越来越快,网上的娱乐方式也越来越多样化,而如今在网上观看视频消遣时间越来越受到大众的青睐。Bilibili视频网站是现当下年轻人最受欢迎的一个视频网站。有调查显示,直到2019年的10月份,Bilibili视频网站的用户在总体网络视频用户占比高达90%。而如今不仅是Bilibili,就连像优酷、腾讯、爱奇艺、乐视等的视频网站都以电视剧、电影、动漫等的一些视频类型向游戏、音乐、电竞等当代年轻人喜爱的娱乐类型进行扩展联动。正是有了这些视频网站专业的生产和运营,我国的网络视频行业才慢慢不停地发展起来,逐步形成网络视频的内容与各领域协同的娱乐生态内容。
  Bilibili视频网站于2009年创立,最开始的时候这个视频网站只是类似于今天的A站一样,分享一些精美图片和视频。但随着中国近十多年来互联网的快速发展,该视频网站也慢慢地扩展了其他的业务,例如一些电子商务和手机游戏等。但其特殊之处还不止这些,与优酷和腾讯等其他视频网站不同,Bilibili在ACG文化以及弹幕文化方面上显得独树一帜。随着Bilibili游客数量的快速增长,它的内容也越来越丰富,除了占主导地位的主题之外,现在的Bilibili还提供了各个领域的视频,包括音乐、舞蹈、科学、技术、娱乐、电影、戏剧、时装、日常生活以及广告电影。此外,Bilibili还提供实时流媒体服务,观众可以与流媒体进行互动。通常这些主题都是关于动画、内容创建与游戏策略等。
  Bilibili与其他平台相比,其用户忠实度更高,据其招募报告称,其成员的12个月保留率高达79%,而2009年注册的用户中有60%今天仍然活跃。此外,年龄在15-45岁之间的用户占平台总体用户基础的78%。Bilibili的平均用户每天在该平台上花费超过78分钟,观看每月上传的240万个视频中的一些。Bilibili凭借其独特而活跃的内容社区吸引用户,也是该网站用户数量激增的原因。 而自2018年9月以来,它在12个月内获得了3500万的MAU。
  Bilibili是目前国内最受欢迎的综合用户网站,分析其视频热度可以从侧面分析15-45岁群体的爱好,有着重要研究意义。

二、相关技术介绍

2.1 Scrapy框架

  Scrapy框架在Python语言中处理复杂情况的一种工具。它是一种强大的网页蜘蛛框架,不仅能够轻松构建请求,并且能轻松解析响应。它的性能非常高甚至还可以将网页蜘蛛这种程序工程化以及模块化。
Scrapy框架主要包括:
(1)引擎:主要工作负责项目管道、网页蜘蛛、下载器、调度器中间的通讯、信号分析以及相关数据信息传递等。
(2)调度器:主要负责接收来自引擎发送的请求,并组织和布置以某种方式入队,当被需要时返回到引擎。
(3)下载器:主要工作负责下载引擎发送的所有请求,并将其获取到的响应交还给引擎,并由相关引擎交给网页蜘蛛来处理。
(4)网页蜘蛛:主要负责处理所有响应,从中分析提取数据并获得项目字段所需的数据,向引擎提交需要跟踪的URL并又一次进入到调度器之中。
(5)项目管道:从爬行器中获取的项目进行处理和后处理的地方。
Scrapy 的运行流程基本如下:
(1)首先,引擎从调度程序中检索的URL作为初始目标的检索程序,并开始从此URL抓取。
(2)其次,URL被引擎封装为请求并且传送给下载器,下载器把资源下载到本机后再封装为响应。
(3)网页蜘蛛接收响应同时调用回调函数。

2.2 Pandas库

  Pandas库的创始人是一位名叫Wes McKinney的开发人员开发出来的,其开发Pandas库的目的在于能够对所得到的数据进行更加精准的操作分析以及建模等。而在此出现之前,Python只能够简单的对数据进行处理以及作出一些准备,而对于如今的数据分析的贡献并不是很大。而目前作为一个开源的Pandas,已经能够利用其强大的功能为数据处理提供高性能的处理和分析了。
而如今带有Pandas库的Python语言已经在广泛的领域中使用,其中就包括有学术、商业、金融、经济学、统计和分析等。
Pandas库的主要特点:
(1)具有快速高效的数据框架对象,具有默认和自定义索引。
(2)处理数据对齐和丢失数据。
(3)将不同文件格式的数据加载到内存中的数据对象工具。
(4)可以把日期一期重新塑造以及设置。
(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 原始数据表
在这里插入图片描述

续表3.1 原始数据表
在这里插入图片描述

3.3 数据预处理

数据清理主要是通过删除或修改不正确、不完整、不相关、重复或者格式不正确的数据来准备要分析的数据的过程。在分析数据时,此数据通常不是必需的或无用的,因为它可能会阻碍过程或提供不准确的结果。有几种清理数据的方法,具体取决于数据的存储方式以及所寻求的答案。
数据清理不仅涉及擦除信息以为新数据腾出空间,还在于寻找一种方法来最大化数据集的准确性而不必删除信息。一方面,数据清除包括比删除数据更多的操作,例如修复拼写和语法错误,标准化数据集以及更正错误,例如空字段,缺少代码以及识别重复的数据点。另一方面,数据清理被认为是数据科学基础的基础要素,因为它在分析过程中扮演着重要角色,并能够找到可靠的答案。最重要的是,数据清理的目的是创建标准化且统一的数据集,以允许商业智能和数据分析工具轻松访问并为每个查询找到正确的数据。
从本次采集到的数据中发现并缺失值,而且采取数据有1300行和13列。由于全站榜包含在各分区靠前的视频中,而在rank_tab中有一个全站榜的数据,所以这里就要把全站榜除外,避免重复计算。
df_without_all=df[~df[‘rank_tab’].isin([‘全站’])]
由上面的一行代码可把“全站”这个元素整行进行排除,这样就能够得到一个名为df_without_all的Dataframe,由此一来便能够简单地把收集来的数据进行了一个预清洗。

四、总结

  此次的毕业设计虽然耗时三四个月,但是作为对自己四年大学的一个总结,还是经过不懈努力把它完成了。从选题到开题报告,再从开题报告到毕业设计的实现以及论文的撰写都需要查阅大量的课题资料与实现该设计的涉及的相关技术的文档和书籍。通过这三四个月的不断学习与动手实践,也以这种一边学习一边动手的方式逐渐熟悉了基于Python对网站中网络视频的数据爬取和数据分析。
  在21世纪的今天,网络发展越来越快,网上的娱乐方式也越来越多样化,而如今在网上观看视频消遣时间越来越受到大众的青睐。Bilibili视频网站是现当下年轻人最受欢迎的一个视频网站。有调查显示,直到2019年的10月份,Bilibili视频网站的用户在总体网络视频用户占比高达90%。它与其他的视频网站用户相比较,其用户忠实度更高,据其招募报告称,其成员的12个月保留率达79%,而2009年注册的用户中60%的今天仍然活跃。Bilibili是目前国内最受欢迎的综合用户网站,分析其视频热度可以从侧面分析15-45岁群体的爱好,有着重要研究意义。
  本次论文所进行的工作得出的总结主要有以下几个方面:
(1)通过分析B站综合评分top100的视频分类占比中,我们可以发现生活区的占比最高,其次为动画区,可见目前B站主流视频类型为生活类和动画类。
(2)通过分析B站综合评分top100的视频平均播放量情况时,我们可以发现动画类型的视频平均播放量最高,其次为时尚类的视频,可见在B站用户里最受欢迎的还是动画类的视频,也从进一步判断出B站用户的年龄总体比较年轻。
(3)通过分析B站用户在top100视频各分区的平均三连情况,我们可以发现点赞较多的视频类型分别为影视、生活、动画类型,投币较多的视频类型分别为动画、生活、游戏类型,收藏较多的视频类型分别为时尚、影视、动画类型,其中最高的为时尚类型。总结平均三连情况可得知在点赞人数里,影视区的视频拥有最高的点赞量,其次为生活区;在投币人数里,生活区的视频拥有最高的投币量,其次为动画区;在收藏人数里,时尚区的视频拥有最高的收藏量,其次为影视区。由此可知B站用户更喜欢把数量有限的币投给动画和生活类型的视频,而相对于比较实用的时尚和科技类型的视频他们就更偏向于收藏了。
(4)通过分析B站视频的热门标签,我们可以知道今年的热门视频标签与之前B站所统计的热门视频标签相对比,在B站热门视频标签出现最多的仍然是搞笑标签,可见B站用户多数都喜欢能给人带来快乐的视频类型。而鬼畜和Bilibili新星计划等几个标签作为B站独有的文化仍然比较显眼,而且在今年的视频标签中能够发现挺多与生活相关的标签,结合往年B站的热门视频标签分析,这说明在B站可能每一年的视频标签都在不停地变化。

六、 目录

目 录
第一章 绪论 1
1.1 研究背景 1
1.2 国内外研究现状 2
1.3 章节安排 2
第二章 相关技术介绍 3
2.1 Scrapy框架 3
2.2 Pandas库 4
2.3 pyecharts库 4
第三章 基于Scrapy的数据抓取 6
3.1 页面分析 6
3.2 数据结果 7
3.3 数据预处理 8
第四章 数据分析 10
4.1 分区占比可视化 10
4.2 平均播放量可视化 10
4.3 平均三连情况可视化 11
4.4各区平均播放可视化 13
4.4热门标签可视化 14
第五章 总结与展望 16
5.1 工作总结 16
5.2 展望 16
参 考 文 献 18
附 录 20

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1530868.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

flowable-ui部署

版本 java: java8+tomcat: apache-tomcat-9.0.87flowable: flowable-6.8.1mysql驱动: mysql-connector-java-8.0.30.jar 注意:版本一定要对,否则启动报错执行数据库脚本 创建数据库flowable执行脚本,脚本位于解压flowable-6.8.1.zip后的flowable-6.8.1/database/create/all/…

机器学习——终身学习

终身学习 AI不断学习新的任务,最终进化成天网控制人类终身学习(LLL),持续学习,永不停止的学习,增量学习 用线上收集的资料不断的训练模型 问题就是对之前的任务进行遗忘,在之前的任务上表现不好…

MySQL数据库的基本概念与安装

目录 引言 一、数据库的基本概念 (一)数据、表与数据库 1.数据(Data) 2.表 3.数据库 (二)数据库管理系统 (三)数据库系统 二、数据库的发展 三、主流数据库的介绍 (一)关…

基于BusyBox的imx6ull移植sqlite3到ARM板子上

1.官网下载源码 https://www.sqlite.org/download.html 下载源码解压到本地的linux环境下 2.解压并创建install文件夹 3.使用命令行配置 在解压的文件夹下打开终端,然后输入以下内容,其中arm-linux-gnueabihf是自己的交叉编译器【自己替换】 ./config…

杰发科技AC7801——读取Flash数据做CRC校验

查看Keil的编译结果发现总共6160个字节。计算结果如下, 代码如下 #include "ac780x_crc.h" #include "ac780x.h" #include "ac780x_debugout.h" #include "string.h" #include "ac780x_eflash.h"#define TestSi…

2024年第二届亚洲前沿图像处理会议(AAIP 2024)即将召开!

2024年第二届亚洲前沿图像处理会议(AAIP 2024)将于2024年7月26-28日在泰国曼谷召开。本次会议由温特沃斯理工学院、国立中山大学、泰国国立法政大学联合主办,JOIG期刊参与支持。会议旨在促进图像处理相关领域学术交流与合作,热忱欢迎从事相关技术研究的专…

【PyQt】17-日历控件

文章目录 前言一、代码二、运行结果总结 前言 固定格式的表述 日期的获取 一、代码 #Author :susocool #Creattime:2024/3/19 #FileName:40-日历控件 #Description: 日历控件的展示 import sys from PyQt5.QtCore import * from PyQt5.QtWidgets import * from PyQ…

麒麟 V10 一键安装 Oracle 11GR2(231017)单机版

Oracle 一键安装脚本,演示 麒麟 V10 一键安装 Oracle 11GR2 单机版过程(全程无需人工干预):(脚本包括 ORALCE PSU/OJVM 等补丁自动安装) ⭐️ 脚本下载地址:Shell脚本安装Oracle数据库 脚本第…

代码随想录算法训练营第十一天| 20. 有效的括号、1047. 删除字符串中的所有相邻重复项、150. 逆波兰表达式求值

题目:20. 有效的括号 文章链接:代码随想录 视频链接:LeetCode:20.有效的括号 题目链接:力扣题目链接 图释: class Solution { public:// 有效的括号 bool isValid(string s) {// 遇到左括号时就放入右括号&#xf…

【C语言】结构体类型名、变量名以及typedef

文章目录 分类判断结构体成员的使用typedef 分类判断 struct tag {char m;int i; }p;假设定义了上面这一个结构体,tag 就是类型名, p 就是变量名, m 和 i 就是结构体成员列表。 可以这么记,括号前面的是类型名,括号后…

尝试搭建谷粒商城 记录(四)

1、分布式组件 父工程引入依赖(已完成) spring boot 2.1.8.RELEASE spring cloud Greenwich.SR3 spring cloud alibaba 2.1.0.RELEASE 1. nacos用作服务注册中心 1、nacos下载安装 下载地址: https://github.com/alibaba/nacos/rel…

教务管理系统(java+mysql+jdbc+Druid+三层架构)

1、项目要求 1.1数据库表描述 设计一个教务管理系统,要求如下: 系统涉及的表有 account表(账号表) teacher表(教师表) student表(学生表) course表 (课程表) score表(成…

【运维】MacOS Wifi热点设置

目录 打开热点 配置共享网段 打开热点 打开macOS设置,进入通用->共享 点击如下图标进行配置, 会进入如下界面(⚠️目前是打开共享状态,无法修改配置,只有在未打开状态才能进入配置) 配置完成后&#x…

STM32-DMA数据转运

DMA进行转运的条件 1:开关控制,DMA_CMD必须使能2:传输计数器必须大于03:触发源必须有触发的信号

短剧app系统开发:在短剧爆发期普通人如何实现收益?

今年春节,几部大热短剧抓住了流量密码,在市场中掀起了一股新的短剧热潮。在短剧火爆的诱惑下,吸引了越来越多的人进行到短剧市场中,市场规模迅速暴涨,已超五百多亿元! 随着互联网的发展,各类影…

宝宝洗衣机买几公斤?四款实力扛鼎婴儿洗衣机推荐

对于有了宝宝的家庭来说,洗衣成为了一项重要的家务事。大家都知道,宝宝的皮肤比较娇嫩,容易受到各种细菌、病毒的侵扰。所以,宝宝的衣物应该与大人的分开单独清洗。婴儿洗衣机作为一种专门为婴幼儿家庭设计的洗衣机,其…

Vue.js前端开发零基础教学(二)

目录 前言 2.1 单文件组件 2.2 数据绑定 2.2.2 响应式数据绑定 2.3 指令 2.3.1 内容渲染指令 2.3.2 属性绑定指令 ​编辑 2.3.3 事件绑定指令 2.3.4 双向数据绑定指令 2.3.5 条件渲染指令 2.3.6 列表渲染指令 2.4 事件对象 2.5 事件修饰符 学习目标&am…

VR消防安全体验馆的作用|元宇宙文旅|VR设备价格

VR消防安全体验馆的作用主要包括以下几个方面: 提高火灾防范意识: 通过虚拟现实技术展示各种火灾场景和应急情况,让参观者身临其境地感受到火灾的危险性,从而增强他们的火灾防范意识。 实战演练能力: 参观者可以在虚拟…

安科瑞ASCP 系列电气防火限流式保护器

背景 随着社会经济的飞速发展,电气化程度不断提高,用电负荷过大、线路短路等原因导致电气火灾发生越来越频繁,使得火灾数量呈上升趋势。 据公安部消防局5年的统计分析,电气火灾发生的场所中,住宅发生火灾事故的数量高…

本地gitlab-runner的创建与注册

引言 之前通过一些方式在本地创建runner,时而会出现一些未知的坑,所以写下本文记录runner可以无坑创建的方式。 以下注册runner到相应仓库的前提是已经在本地安装了gitlab-runner 具体安装方式见官网 本地gitlab-runner安装常用的指令 查看gitlab r…