目录
2 研究内容
2.1 主要研究内容
2.2 拟解决的关键问题
2.2.1热门视频特征的识别和提取
2.2.2情感分析与用户反馈
2.3技术路线
2.3.1数据收集
2.3.2数据预处理
2.3.3数据挖掘
2.3.4 数据可视化
2.4可行性分析
2.4.1技术可行性
2.4.2数据可行性
2.4.3经济可行性
2.5数据库设计
3关键技术概念介绍
3.1网络爬虫
3.2 MySQL数据库
3.3python相关库
3.3.1Python--Numpy
3.3.2 Python--Pandas
3.3.3 Python--Matplotlib
3.4主题分析
3.5关联性分析
3.6情感分析
4.数据收集与预处理
4.1网络爬虫与数据收集
4.1.1爬虫设计
4.1.2数据收集
4.2数据预处理
4.3数据存储
5.1关联性分析
5.2 主题分析
5.3 情感分析
5.4用户行为可视化分析
5.5数据分析结果总结
5.5.1热门视频分析
5.5.2用户分析
6 结论与展望
本文采用Python中的网络爬虫技术,从视频平台(例如YouTube、Bilibili、TikTok等,以B站为例)中提取视频数据。在分析了不同类型网站的特点后,选择B站作为适合的数据源。借助网络爬虫来获取网页的内容,并从这些内容中抽取必要的视频信息,以便进行数据的收集工作。为了得到更高质量的视频,需要在采集到的视频序列中检测出大量的相似点。对收集到的数据进行清理,移除重复的部分、遗漏的数据和异常的数据。
对必要的数据实施分词处理、剔除废弃词汇等初步处理步骤。从视频资料里,可以获取诸如视频标题、点赞、播放量、转发、评论等关键特点。还提取了文本特征,例如情感解析和主题识别,能够通过运用自然语言处理科技来进行提炼。利用Python中的多种数据分析和可视化工具库,如Pandas、Matplotlib、Seaborn等,对视频数据作可视化图表
通过运用统计研究、关联性探究以及时间序列的详细分析等多种手段,能够深入揭露视频中的流行趋势和关键性因素。依据过去的数据资料,构建了相应的可视化图表。对所得的分析成果进行解读,并从中总结出核心的观点和发现。编写详细文档或制作视觉图形。
1 引言
本次研究的目的是通过对受欢迎的热门视频数据进行详细分析,来探索视频观看的趋势以及观众的偏好和选择的规律。针对B站的热门视频进行深度探讨,能更为准确地洞察用户观看习惯与喜好,为视频内容创作者注入丰富的创意灵感,同时还可以为B站运营商带来更加科学的管理决策,并为广告发布商指明更为确切的宣传方向[1]。
借助Python所开发的数据处理与研究工具及技术,可以高效地对抗前述的问题,同时,为研究人员呈现了丰富的数据分析资料,助力他们深入理解热门视频的各种特性和模式。对热门视频的数据进行深入分析和研讨,在现代数字娱乐业界具有巨大的学术与实用价值。
1.2 选题目的及意义
1.2.1选题目的
通过研究B站点的热门视频资料,能够深刻探究用户的观赏模式、兴趣偏好以及他们的互动行为。这样做有助于准确把握目标观众的具体需求和属性,为内容的创意和社会推广提供强有力的依据。
深入剖析视频之所以热门:研究B站热门视频的关键元素,包括内容种类、用户喜好等,能洞察视频受到欢迎的核心原因。这一点能够为那些其他的创作人员提供有用的指导和参照,以增强他们在创造高水平内容时的专业能力。
对于视频推荐的优化方法是:通过深入地分析大量的热门视频数据,此方法能够使推荐算法更为准确,从而增强推荐的个性化体验。这种做法有助于增强用户的体验感,增进用户的黏性,并推动平台向更好的方向持久发展。
对用户的观影习惯和偏好进行了研究:深入了解各用户对于各种不同的视频类型、内容和行式的偏爱度,其中还包括了他们的观看量、在线互动等,这样可以更准确地满足他们的观看要求。
在探索视频创作的常规中,研究了B站流行视频之间的普遍特性并探索了何种内容或元素更易于受到用户兴趣和追捧,以为视频内容的创作者带来艺术构思和方向指引[2]。
提供决策帮助:向B站的运营者和广告机构提供关键数据,助力他们制订更为精准的经营策略和广告实施方案。
1.2.2选题意义
通过分析B站的热门视频数据,能够更深入地洞察用户的需求,从而为他们提供更加匹配个人口味的视听体验,从而增强用户的观看体验。
推动内容的创新:深入探讨当前流行的热门视频资料能够激励内容创作者产生创作兴趣,进一步协助他们塑造出更具魅力与创新性的作品,同时也为平台提供了更多的内容选择。
在辅助商务决策方面:通过对B站的热门视频资料的深入研究,可以为广告发布者和平台运营商提供重要的建议,协助他们构建更加高效的市场推广策略和内容宣传项目。
关于内容创作的指南:通过对B站热门视频进行深入分析,内容创作者能够获取专门定制的指南,以确保他们能根据用户的实际需求创作出更加合适的内容。这样不仅可以增强内容的品质与吸引性,还能增强作品的点击率与传播范围。
为了提高营销的效益,针对B站热门视频的深入分析,从而能够深入洞察用户的观看意向和消费习惯,为品牌的营销策略设计提供坚强的后盾。通过播放热门视频来进行品牌的推介和推广,有潜力增强品牌的知名度,并优化其品牌外观。
为促进整个视频行业的进步,对B站热门视频的资料进行深入研究和分析将有助于更加了解这一行业的进展与机会,从而为行业内的企业与个体提供有价值的决策参考。此外,通过持续的优化与创新手段,能够促进视频产业的稳健进展。
目前,国内外有关热门视频的数据调查和研究进展得十分活泼,并从多种角度深入地进行了探索。起初,在探索数据分析技术的应用过程中,国内与国际的学者普遍使用大数据、机器学习以及人工智能等各种技术方法,对热门视频内容进行了深入的剖析。这种技术不仅能助力学者们更精确地检测热门视频的特性及其趋势,而且还可以为内容创作者提供针对性的建议和方向。接着,当探讨研究主题时,无论是国内还是国外的学者们都对当下热门视频的用户习惯、内容独特性和传播方式等进行了研究。举例来说,通过对短视频平台用户在观看、点赞和评论方面的不同行为模式进行综合分析,国内研究人员成功地揭示了用户的多种偏好和多样化的行为习惯。与此同时,国外的学者们更偏向于从文化与社会两个维度出发,对当前流行的热门视频内容进行深入解析,探索背后所蕴含的社会和文化意涵[3]。
在研究手段上,国内及国际的学者们正逐步展现出多样性的发展方向。除了传统的统计评估技术,众多的科研人员如今开始运用文本解读、情感洞察和网络技术等手段,来对目前流行的视频内容进行更细致和全方位的探讨。但是,尽管在热门视频的数据处理和研究上,全球和国内都取得了一些进展,仍然面临着诸多困难和缺陷。比如说,在涉及用户隐私以及与平台政策息息相关的问题上,收集和处理数据仍然是一项具有挑战性的工作;此外,探究如何将数据分析得出的数据成果运用于内容的创意与普及,确实是一个值得进一步研究的议题[4]。综观国内外有关热门视频的数据研究与分析,可以看到一个既活跃又多样化的发展动态,尽管它还面临着诸多挑战与不足的地方。但相信,在未来,它将随着科技持续向前发展与方法论不断地创新。
2 研究内容
2.1 主要研究内容
本研究旨在通过深入分析B站热门视频的数据,探索用户的观看趋势、兴趣偏好以及视频推广效果。我们将使用Python的网络爬虫技术从B站获取视频数据,包括标题、标签、上传时间、播放量、点赞数、评论数、分享数等,并对这些数据进行清洗和存储。通过关联性分析挖掘视频特征与受欢迎程度之间的关系,利用主题分析揭示不同主题视频的受欢迎程度,并通过情感分析了解用户对不同视频的反馈。我们将使用Matplotlib和Seaborn等工具进行数据可视化,并编写研究报告,提出优化视频内容和推广策略的建议。本研究将为内容创作和平台运营提供科学依据和决策支持。本研究的总设计如图2-1所示。
图2-1研究路线图
2.2 拟解决的关键问题
2.2.1热门视频特征的识别和提取
如何准确识别和提取热门视频的多种特征是目前研究领域亟待解决的核心问题。热门视频具有多样的特征,包括视频内容、用户行为、发布时间等。我们需要采用适当的技术与策略,对这些特征进行准确提取和分析,以揭示它们对视频受欢迎程度的影响。
2.2.2情感分析与用户反馈
分析用户评论中的情感倾向,了解用户对视频的反馈和态度。通过情感分析,识别出用户对不同类型视频的正面、负面和中性情感,帮助内容创作者优化视频内容,提高用户满意度。
2.3技术路线
本文的技术路线可以分为以下几个主要阶段:数据收集、数据预处理、数据挖掘、数据分析与可视化。
2.3.1数据收集
数据收集是本研究的重要环节,旨在获取足够且高质量的数据,为后续的分析和挖掘奠定坚实基础。我们采用Python编程语言的网络爬虫技术,主要使用Scrapy和BeautifulSoup库,从B站获取相关视频数据。为了确保数据的全面性和代表性,我们选择了B站的多个热门分类和标签,涵盖娱乐、游戏、动画、科技、生活等领域的视频数据。
为了提高数据的准确性和可靠性,我们在爬取过程中加入了数据校验和异常处理机制。例如,对于重复数据和异常值进行过滤和标记;对于网络请求失败或数据缺失设置了重试机制。此外,为避免对目标网站造成过大的访问压力,我们设置了合理的爬取频率和访问间隔,并遵守目标网站的robots.txt协议和使用条款。在数据收集的整个过程中,我们不仅关注数据量的增加,更注重数据质量的保证。对数据进行初步清洗,去除明显的错误和冗余数据,确保数据的完整性和一致性。
2.3.2数据预处理
数据预处理是确保数据准确性和一致性的关键步骤,为后续的数据分析和挖掘提供可靠的基础。在数据预处理过程中,我们首先对从B站获取的原始数据进行初步清洗。这个步骤包括删除缺失值和重复数据,以避免冗余信息对分析结果的影响。接着,我们处理异常值,例如极端的播放量或点赞数,这些异常值可能是由于数据采集过程中的错误或异常用户行为造成的。我们使用统计方法和异常检测算法来识别和处理这些异常数据。
在完成数据清洗后,本研究对文本数据(如视频标题和标签)进行分词和词频统计。由于中文文本的特殊性,我们使用了jieba分词库进行分词处理,同时去除停用词,以保证数据分析的准确性。对视频标题和描述进行分词后,我们提取出有用的关键词,为后续的主题分析提供基础。
为了提高数据的可用性和分析效率,我们将处理后的数据存储在MySQL数据库中。设计合理的数据库表结构,确保数据的高效存储和访问。我们创建了索引和视图,以便快速查询和分析数据。
2.3.3数据挖掘
本研究将采用多种数据挖掘方法对这些数据进行深入分析。关联性分析方面,利用Apriori算法挖掘视频特征之间的关联规则。我们将每个视频视为一个事务,每个特征视为一个项,设置支持度和置信度阈值筛选出有意义的关联规则,找出视频特征与其受欢迎程度之间的关系。例如,可以发现某些视频标签、发布时间等特征与播放量、点赞数等存在显著关联。主题分析方面,通过自然语言处理技术(如LDA主题模型)对视频标题和描述进行主题分析。对视频标题和描述进行分词处理后,使用LDA模型找出主要的主题和关键词,揭示不同主题的视频在用户中的受欢迎程度。情感分析方面,使用朴素贝叶斯分类器对用户评论进行情感分类。通过对视频评论数据的分词处理,使用情感词典或机器学习模型标注正面、负面和中性情感,统计分析情感分类结果,结合视频特征进行深入分析,以了解用户对不同视频的情感反应。
2.3.4 数据可视化
为了直观展示分析结果,本研究将使用Matplotlib和Seaborn等工具绘制柱状图、折线图、饼图和词云图等,进行数据可视化展示。最后,编写详细的研究报告,阐述数据收集与处理过程、数据挖掘方法和分析结果,提出结论和建议,帮助内容创作者和平台运营者优化视频内容和推广策略。通过总结分析结果,揭示B站热门视频的关键特征和用户行为模式。
2.4可行性分析
2.4.1技术可行性
在编程领域,Python被视为一个具有强大功能且学习起来简单的语言,它拥有众多的数据处理和分析资源库,例如NumPy、Pandas、Matplotlib、Seaborn等。Python得益于其强大的数据处理、解析和可视化工具,因此已经成为数据分析界的最佳选择[7]。另外,Python也拥有一个强大的机器学习工具系统,例如Scikit-learn库,这使得能够更加深刻地理解视频数据中的深层规律和特性。从技术的视角出发,利用Python来对B站中受欢迎的视频数据进行深入分析和探讨是绝对可以实施的。
2.4.2数据可行性
B站拥有各种丰富的数据界面,这使得开发者能够轻松获得与视频相关的各类数据,如播出次数、点赞、评论、分享等核心标准,还包括用户行为和视频中的内容信息等。这批资料为数据的深度解析带来了巨大的灵感来源。借助于爬虫技术的帮助,有机会从B站的网站页面中收集更为丰富的信息。因此,从数据分析的角度而言,运用Python来对B站上流行视频进行详细数据分析和深入研究也显得同样实用和可行。
2.4.3经济可行性
Python被广泛认为是一种开源的编程工具,它的相关数据和工具大部分是非收费的。使用Python进行信息的深入分析和研究,并不需要承担任何高的软件开发成本。再者,Python的学习费用相对较为经济,让那些没有编程经历的人也能迅速学习并明了其核心用法。因此,如果从经济层面去考虑,利用Python对B站的热门视频进行深入的数据分析和研究,是完全实际的。
2.5数据库设计
在进行数据分析之前,我们需要设计一个合理的数据库结构来存储从B站获取的数据。以下是三个关键的数据库表,它们将分别存储视频基本信息、用户互动数据和评论情感数据。首先,本研究设计了视频基本信息的表,他的实体图如图2-2所示。
图2-2视频基本信息实体图
接下来是关于用户数据的实体图如图2-3所示
图2-3用户数据实体图
最后是评论情感数据的实体图,如2-4所示。
图2-4评论情感数据实体图
表2.1存储B站视频的基本信息,包括视频ID、标题、标签、上传时间、播放量等。
表2.1视频基本信息表 (Video_Info)
字段名 | 数据类型 | 描述 |
Video_id | VARCHAR(50) | 视频ID,主键 |
title | VARCHAR(255) | 视频标题 |
tags | VARCHAR(255) | 视频标签 |
Uplord_time | DATETIME | 视频上传时间 |
Play_count | INT | 播放量 |
Like_count | INT | 点赞数 |
Comment_count | INT | 评论数 |
Share_count | INT | 分享数 |
Coin_count | INT | 投币数 |
表2.2存储用户对视频的互动数据,包括点赞、评论、分享等互动行为。
表2.2用户互动数据表
字段名 | 数据类型 | 描述 |
Interaction_id | INT | 互动ID |
video_id | VARCHAR(50) | 视频ID外键 |
User_id | VARCHAR(50) | 用户ID |
interaction_type | VARCHAR(50) | 互动类型 |
interaction_time | DATETIME | 互动时间 |
表2.3存储视频评论的情感分析结果,包括评论ID、视频ID、用户ID、评论内容和情感分类结果。
表2.3评论情感数据表
字段名 | 数据类型 | 描述 |
Comment_id | INT | 评论ID,主键 |
Video_id | VARCHAR(50) | 视频ID外键 |
User_id | VARCHAR(50) | 用户ID |
Comment_text | TEXT | 评论内容 |
sentiment | VARCHAR(50) | 情感分类 |
Sentiment_score | FLAOT | 情感得分 |
在本研究的数据设计中,Video_Info 表通过 video_id 与 User_Interactions 和 Comment_Sentiments 表关联,确保视频的基本信息、用户互动数据和评论情感分析结果之间的关系得以有效维护。User_Interactions 表和 Comment_Sentiments 表通过 video_id 关联到具体的视频,记录用户对视频的各种互动行为以及评论内容。Comment_Sentiments 表还记录了每条评论的情感分析结果,提供情感分类和得分。这种设计确保了数据的完整性和一致性,便于后续的数据查询和分析,为深入理解视频特征、用户行为模式和情感倾向提供了坚实的基础。
3关键技术概念介绍
3.1网络爬虫
网络爬虫,又名Web蜘蛛和Web机器人,是一种根据预处理的指令规则,独立进行Web信息抓取的程序脚本[9]。爬虫技术可以快速的采集网页上的信息并广泛的传播,非常方便的获取网页数据,因此被广泛的应用于搜索引擎中,以实现用户对网络数据的采集和处理目的。 如图3-1所示。
从技术结构和技术实现的角度来看,网络爬虫主要可以被分类为如下几个种类:普遍的网络爬虫(General Purpose Web Crawler),针对特定问题的网络爬虫(Focused Web Crawler),增量增长的网络爬虫(Incremental Web Crawler)和深入的网络爬虫(Deep Web Crawler)[10]。现实中的网络式爬虫系统经常是通过多种爬虫策略的联合应用来实现的。此文核心内容涉及普通的互联网爬虫技术:
3.2 MySQL数据库
本文所采用的数据库(database)实际上是一个用于存储数据的仓库,为了便于数据的储存和管理,该仓库按照一定的规则将数据保存在磁盘上。随着计算机应用范围的日益扩大,数据库已经成为了人们进行信息处理的重要工具。利用数据库管理系统,能够高效地整理和管理存储在数据库里的各种数据。由于数据库具有很高的性能和可靠性,所以现在已经广泛的应用于各行各业之中,成为了人们工作生活当中不可缺少的工具之一。Mysql数据库实际上是一种关系型数据库管理系统(RDBMS),可以说它是目前运行速度最快的SQL数据库管理系统。
MySQL在本设计过程中扮演了一个很重要的角色。MySQL作为数据存储和检索的核心部件,在用户登陆过程中负责存储用户姓名、密码、热门文章相关资料、评论相关资料以及账号校验等数据。以保证用户输入的用户名与密码相符。此外,我还用MySQL对数据进行备份和恢复,防止资料丢失或损坏情况的发生,保证自己的系统资料能够完整可靠。
3.3python相关库
3.3.1Python--Numpy
此文中所用的Numpy(Numerical Python)实际上是对Python的一种开放源代码的数值计算技术升级。该技术工具具有存储和处理大数据矩阵的能力,其效率明显超过Python内置的嵌套列表(nested list structure)架构(这一架构也可表示矩阵(matrix)),能够处理大量的维度数组和矩阵运算,并为数组的计算提供丰富的数学函数库工具[14]。
Numpy具有内部并行运算特性,这意味着当系统中有多核核心执行特定的计算任务时,Numpy能够自动地执行并行运算。
3.3.2 Python--Pandas
本文所采纳的Pandas是一款基于NumPy设计的软件工具,专门针对进行数据分析任务而研发。Pandas 整合了众多的库以及若干标准化的数据模型,以提供一个处理大规模数据集的高效工具。Pandas所提供的各种功能和手段能更快速且方便地处理各种数据。它们是使Python变成高效且强大数据分析平台的关键元素之一。
3.3.3 Python--Matplotlib
本文所使用的Matplotlib实际上是 Python 公司的 2D绘制资源库。此库能以多种硬拷贝形式及在不同平台上的交互方式,生成出版的高质量图像[15],原理如图3-2所示。
Matplotlib在Python中被广泛应用作为主要的绘图资源库,它为生成各种高品质的静态、动态和交互型图形提供了众多的工具和功能,涵盖了如线图、散点图、柱状图、饼状图和3D图的绘制等[16]。
图3-2Matplotlib工作原理
以下列出的是Matplotlib具备的关键特性和功能特点:
操作简易:Matplotlib提供了界面友好的API功能,使得用户能够轻易地生成各种不同类别的图像,不论是基础的或是较为复杂的。
Matplotlib提供了全面的图形处理能力,可以处理各种各样的图形,如线状图、散点表示、柱状图、直方图、饼状图和3D显示图等,从而适应各种不同需求下的数据可视化。
高度的定制性:用户能够通过配置各式各样的属性与参数,来自动定制图形外观,这包括色彩、线状、标识、头条等,以便更全面地满足他们的具体需求。
总体上看,Matplotlib是一个既功能齐全又用户友好的绘图数据库,适合从基础的数据可视化逐渐转向复杂的科学研究领域中的图形需求。
本文大量使用了Matplotlib所绘的各种图形能对研究内容做出非常直观的可视化展示。
3.4主题分析
主题分析是一种自然语言处理(NLP)技术,旨在从大量文本数据中自动识别并提取主要话题或主题。这一过程涉及对文本数据进行分词、去除停用词、词频统计等预处理步骤,然后通过主题建模算法(如潜在狄利克雷分配LDA)来识别文本中的潜在主题。主题建模是一种无监督学习方法,它假设每个文档是若干主题的混合体,而每个主题则是若干词语的概率分布。在实际应用中,主题分析可以揭示文本数据中隐含的结构和模式,帮助我们理解不同文档之间的相似性和差异性。通过将复杂的文本数据转化为易于理解的主题分布,主题分析为文本分类、信息检索、内容推荐等应用提供了强有力的支持。在研究视频内容时,主题分析能够有效地识别出视频标题和描述中的主要话题,从而揭示不同主题的视频在用户中的受欢迎程度。这不仅有助于内容创作者更好地把握用户兴趣,还能为平台运营者优化推荐算法和内容策略提供数据支撑。因此,主题分析在大数据和人工智能时代,成为分析和理解海量文本数据的一种关键技术。
3.5关联性分析
关联性分析(Association Analysis)是一种数据挖掘技术,旨在从大量数据集中发现变量之间的关联规则和模式。这一技术主要用于揭示隐藏在数据中的关系,通常应用于市场篮子分析、推荐系统、医疗诊断和生物信息学等领域。关联性分析的核心是通过频繁项集和关联规则挖掘,从数据集中提取出项之间的有意义的联系。例如,在市场篮子分析中,关联性分析可以帮助发现经常一起购买的商品组合,揭示消费者的购买习惯和偏好。
关联性分析通常使用Apriori算法或FP-Growth算法来识别频繁项集,并基于这些项集生成关联规则。关联规则由两个部分组成:前件(Antecedent)和后件(Consequent),表示如果发生了前件,那么很可能会发生后件。每个关联规则还伴随三个重要指标:支持度(Support)、置信度(Confidence)和提升度(Lift)。支持度表示规则在数据集中出现的频率,置信度表示在前件发生的情况下后件发生的概率,提升度衡量规则的强度,即前件的发生对后件发生的影响力。
通过关联性分析,企业和研究人员可以发现数据中存在的有价值的模式和规律,从而做出更明智的决策。例如,零售商可以根据关联规则优化商品布局和促销策略,提高销售额和客户满意度;推荐系统可以根据用户的历史行为推荐相关商品或内容,提升用户体验和黏性。在医学领域,关联性分析可以用于发现疾病之间的关联,辅助医生进行诊断和治疗。总之,关联性分析是一种强大且广泛应用的数据挖掘工具,通过揭示数据中的潜在关联,为各行业提供了深刻的洞察和决策支持。
3.6情感分析
情感分析(Sentiment Analysis),又称意见挖掘(Opinion Mining),是一种自然语言处理(NLP)技术,旨在通过分析文本数据中的情感信息,识别出文本所表达的主观情感倾向。情感分析通常涉及对文本进行预处理,包括分词、去除停用词和词性标注等,然后通过机器学习算法或情感词典对文本进行分类。其目标是确定文本中所包含的情感是正面、负面还是中性。情感分析可以应用于各种类型的文本数据,如社交媒体帖子、产品评论、新闻文章和用户反馈等,通过分析这些文本数据,情感分析能够揭示公众对某个主题或产品的态度和情绪倾向。
在实际应用中,情感分析可以帮助企业和组织了解客户满意度、市场趋势和品牌声誉。通过对客户评论和反馈的情感分析,企业可以及时发现产品或服务中的问题,进行改进和优化。同时,情感分析还可以用于社交媒体监测,帮助企业和品牌了解公众对其活动和宣传的反应,从而制定更有效的营销策略。在学术研究中,情感分析也是社交网络分析、政治舆情分析和文化研究等领域的重要工具。情感分析通过将复杂的情感信息转化为可量化的数据,为各行业提供了强大的数据支持和决策依据。
4.数据收集与预处理
4.1网络爬虫与数据收集
4.1.1爬虫设计
在热门视频分析与研究中,数据采集是至关重要的一环。本文所采用的数据采集方法以B站作为主要爬取目标,旨在获取B站热门视频中的关键信息,包括热门视频标题、作者、点赞、评论、转发等,并将这些数据存储到指定的数据库中。为了便于数据的采集,采用了Python编写的爬虫工具,它能采集数据、过滤广告,能够有效地从页面中提取研究所需要的结构化数据。首先,通过B站的API接口和网页结构分析,确定爬虫的目标页面和数据字段,包括视频标题、视频ID、标签、上传时间、播放量、点赞数、评论数、分享数、投币数和弹幕数等关键信息。通过构建多线程爬虫,提高数据抓取的效率,确保在合理的时间内获取足够量的数据。在数据爬取过程中,我们使用Python的requests库模拟浏览器请求,访问目标网页,获取网页的HTML源代码,再利用BeautifulSoup库解析HTML源代码,提取所需的数据信息。对于动态加载的数据,使用Selenium库模拟用户操作,获取完整的网页内容。网页爬取的整体流程如图4-1所示。
图4-1网页爬取流程图
4.1.2数据收集
借助Python中的网络爬虫工具,可以从各种视频平台如YouTube和Bilibili中收集到关于热门视频的相关详细信息,如其标题、观看量、点赞与评论数量等。借助于Scrapy第三方库来进行网站信息的捕获数据来源如图4-2所示。
图4-2数据来源
构建并运用数据爬虫技术是为了提取海量热门视频资料的核心阶段。经由巧妙构建的数据爬虫应用程序,B站的海量热门视频信息,包含标题、视频编号、创作者、点赞、投币、转发、播放和评论等核心指标,已被成功捕获如图4-3所示。这一系列操作不仅揭示了数据爬虫在大规模数据采集方面的卓越才能,同时也提供了大量的素材,供后续的数据分析和深刻洞察使用[17]。
图4-3部分原始数据
4.2数据预处理
对数据进行彻底清洗和预处理成为不可或缺的关键环节。B站的热门视频内容亦应经过清洗和预处理步骤,确保后续分析达到高准确性和可靠性。这样的优化策略可以让处理和交换数据的效率更高,分析的结果也更具有可信度。可以通过去除重复值和处理缺失值来保证数据集的质量,而分词的使用和统计分析则有助于对数据的内容和含义有更深入的理解。
下文列出的是几个普遍适用的数据清理和预处理操作:
鉴于热门视频可能会在获取过程中有所损失,所以必须对数据进行去重处理。通过对比视频的标题、内容描述和发布日期等详细信息,能够达到目标。对去重后的数据集进行处理,有助于避免进行冗余的计算和分析,并且能有效提升数据应用的效率。
在开始分析数据之前,有必要将各种不同数据进行统一的标准化处理。例如,可以考虑从字符串格式转化视频的上传时长,并把视频的播放次数从字符串模式转化为整数模式等操作。这一措施将有利于未来数据的可视化展示以及模型结构的构建[18]。
由于在数据获取过程中,可能会出现诸如信息缺失或数据误差等异常,因此有必要对缺失值作出填充处理。为了达到这个目标,有多种统计手段,比如均值、中位数,同时还有机器学习技术,例如回归分析和聚类等。
异常值处理是指在对数据进行冲洗和预处理的时候,需要对异常值进行处理,而这些异常值有可能干扰后续的数据的分析,故这些数据需被排除或更换[19]。
特征工程方面,当需要对数据进行预处理时,特征工程依然是必须的。此内容涵盖了从选择数据特征开始、提取数据特征,再到进行数据特征转换的各个阶段。
简言之,B站在热门视频数据的处理和预处理中,数据清除与预处理是关键环节。通过数据的细致清理和预处理,可以提升数据的品质,降低在数据解析中可能出现的误差,从而为未来的数据分析和模型构建提供更加精确且可信的数据基础,正如图4-4所示。
图4-4处理数据结果展示
在进行热词统计时,首先利用 jieba 分词库对文本进行分词处理,然后再去除一些常见的停用词。紧接着,使用 Pandas 进行统计分析,使数据的特征和趋势能更好的理解和呈现。分词的结果如图4-5所示。
图4-5分词结果展示
此优化策略能够提升数据处理的效率,并增强分析结果的可信度。通过去除重复信息和填补数据中的空白部分,可以确保数据集的完整性。结合分词技术和统计分析,可以更加深入地挖掘和理解数据的本质。
4.3数据存储
将爬取得到的数据会通过特定软件Navicat存储到MySQL数据库eva_db中。
与MySQL数据库连接通过mysql -u root - p命令回车输入密码进入数据库,再通过show databases命令和use eva_db命令,查看数据是否存入成功,最后通过命令dump -uroot -p123456 eva_db b站热门综合视频 > D:\新建文件夹/B站综合热门视频.csv 将数据保存到本地,如图4-6所示。
图4-6数据库存储数据展示图
- 数据挖掘与可视化
5.1关联性分析
本研究采用Apriori算法进行关联性分析。Apriori算法通过逐步扩展频繁项集并生成关联规则,找出满足支持度和置信度阈值的规则。支持度(Support)表示规则在数据集中出现的频率,规则 {A} -> {B} 的支持度是包含 A 和 B 的事务数占总事务数的比例。置信度(Confidence)表示在包含前件的事务中,同时包含后件的概率,例如,规则 {A} -> {B} 的置信度是包含 A 的事务中同时包含 B 的比例。提升度(Lift)表示规则的强度,即前件的发生对后件发生的影响力,提升度大于1表示正相关,小于1表示负相关。为了进行关联性分析,我们需要对视频数据进行预处理,构建事务数据集。每个视频视为一个事务,每个特征视为一个项。我们选择包括播放量、点赞数、评论数、分享数、标签、上传时间等特征的数据,将数值型数据转换为二值型,例如,将播放量大于10000的视为1,否则为0,然后将每个视频的数据转换为事务格式,形成一个包含多个项的列表。使用maltpab将关联性分析制作成热度图,通过该图的数据可视化,如图5-1所示。
图5-1关联性分析热度图
该热度图只显示了10个坐标轴的关联分析,我们需要对结果进行去除繁琐集的操作,将一些不必要的进行去除,设置一些规则,以方便我们更好地进行数据分析,数据中的部分关联性如下图5-2所示。
图5-2部分关联规则
通过关联性分析,我们得到了多个频繁项集和关联规则。以下是几个有代表性的规则及其解释:
表5-1关联规则及其数据
规则 | 支持度 | 置信度 | 提升度 |
{标签='搞笑'} -> {点赞数>1000} | 0.03 | 0.75 | 1.5 |
{上传时间='周末'} -> {播放量>50000} | 0.04 | 0.80 | 1.6 |
{标签='教程'} -> {互动率>10%} | 0.02 | 0.70 | 1.4 |
如果一个视频的标签是“搞笑”,那么它的点赞数超过1000的可能性较大。这说明用户对搞笑内容的偏好较高。如果一个视频在周末上传,那么它的播放量超过50000的可能性较大。这表明周末上传的视频更容易获得高播放量,可能是因为用户在周末有更多的空闲时间观看视频。如果一个视频的标签是“教程”,那么它的互动率超过10%的可能性较大。这说明教程类视频更容易引发用户的互动。通过以上分析,我们可以得出以下结论:
视频标签与用户行为:视频的标签对用户的观看和互动行为有显著影响。搞笑和教程类视频更容易获得高点赞数和互动率。
上传时间与播放量:上传时间对视频的播放量有显著影响。周末上传的视频更容易获得高播放量。
关联性分析帮助我们揭示了视频特征与其受欢迎程度之间的关系。这些发现可以帮助内容创作者和平台运营者优化视频内容和推广策略。例如,内容创作者可以根据用户偏好制作更多搞笑和教程类视频,并选择在周末上传以获得更高的播放量和互动率。平台运营者可以基于关联规则优化推荐算法,提高用户体验和满意度。通过合理应用关联性分析的结果,可以显著提升视频内容的受欢迎程度和平台的运营效果。
5.2 主题分析
在进行完关联性分析后,我们通过LDA建模,生成更深度的主题建模,以便我们更清晰地对热门视频进行分析。
主题分析是一种自然语言处理技术,用于从大量文本数据中提取主要主题。本文使用了Latent Dirichlet Allocation (LDA) 模型对B站视频数据进行主题分析,以发现用户关注的主要内容。
我们使用gensim库中的LDA模型进行主题建模。首先,设置参数,指定主题的数量本研究中选用了5个,以及模型训练的其他参数,如迭代次数、随机种子等。然后,使用处理后的语料库和词典训练LDA模型。LDA模型通过识别词汇在文档中的共同出现模式,自动将文档分配到不同的主题中。训练完成后,模型生成每个主题的关键词及其对应的权重,关键词权重表示该词在主题中的重要性。如图5-3所示为数据中部分主题权重关键词。
图5-3部分主题与关键词权重
为了直观展示主题分析的结果,我们使用了pyLDAvis库进行可视化。我们将LDA模型的输出转换为pyLDAvis所需的格式,生成并保存可视化图表,使得我们可以交互式地探索每个主题及其关键词分布。通过这种方式,我们能够清晰地展示主题分析的结果,帮助我们更好地理解和解释数据中的主要主题。具体展示如下图5-4、5-5、5-6所示。
图5-4主题分析pyLDAvis(1)
图5-5主题分析pyLDAvis(2)
图5-6主题分析pyLDAvis(3)
通过对生成的主题和关键词进行分析,我们得到了B站视频的五个主要主题:主题0为俄乌战争动态,关键词包括“动态”、“战争”、“俄乌”等;主题1为搞笑视频合集,关键词包括“视频”、“搞笑”、“笑话”、“地狱”等;主题2为学习与巴勒斯坦局势,关键词包括“局势”、“巴勒斯坦”、“学习”、“Python”等;主题3为生活小技巧与娱乐新闻,关键词包括“生活”、“技巧”、“娱乐”、“新闻”等;主题4为考研复习与国际形势分析,关键词包括“考研”、“复习”、“分析”、“国际形势”等。通过主题分析,我们发现用户在B站上主要关注以下几个方面:时事新闻(如俄乌战争和巴勒斯坦局势)、搞笑视频(尤其是黑色幽默类型)、学习类视频(如Python编程教程)、生活小技巧和娱乐新闻,以及考研复习和国际形势分析。这些发现可以帮助内容创作者了解观众的兴趣点,从而更好地制作和推广视频内容,同时也为平台运营者优化推荐算法和提升用户体验提供了有价值的参考。
5.3 情感分析
情感分析是一种自然语言处理技术,用于识别和提取文本数据中的情感信息。本研究中,我们使用了朴素贝叶斯分类器对B站视频的部分评论数据进行了情感分析。
为了使评论数据适合情感分析,我们进行了以下预处理步骤:首先,使用jieba对评论文本进行分词,将句子分解为独立的词语;然后,去除常见的无意义词汇(如“的”、“这”、“一个”等),以减少噪声数据的干扰。接着,我们将预处理后的数据集划分为训练集和测试集,其中70%的数据用于训练,30%的数据用于测试。使用CountVectorizer将文本数据转换为词频矩阵,每条评论被表示为一个向量,向量的每个维度对应一个词汇在评论中出现的频次。接下来,使用朴素贝叶斯分类器对训练集进行模型训练。朴素贝叶斯分类器是一种常用的文本分类算法,适用于大规模、高维数据。训练完成后,我们使用训练好的模型对测试集进行情感预测,输出每条评论的预测情感标签。最后,通过计算准确率和生成分类报告评估模型的表现。分类报告包括每个情感类别的精确度、召回率和F1分数。通过这些步骤,我们能够对评论数据进行有效的情感分析,从而更好地理解用户的情感倾向。
模型的训练指标如下表所显示。
表5-2模型性能指标
情绪标签 | 准确率 | 召回率 | F1得分 |
正面 | 0.84 | 0.87 | 0.86 |
中性 | 0.82 | 0.78 | 0.80 |
负面 | 0.88 | 0.90 | 0.89 |
模型的准确率为85%,在各类情感的分类上表现均衡且稳定。模型能够较好地识别正面评论,精确度为84%,召回率为87%,F1分数为86%,在识别正面评论时表现出较高的精度和稳定性。在中性评论的分类上,模型表现中等,精确度为82%,召回率为78%,F1分数为80%,虽然中性评论的分类存在一定难度,但模型仍能较好地平衡各项指标。模型对负面评论的分类效果最好,精确度为88%,召回率为90%,F1分数为89%,能够准确识别大部分负面评论,表现出色。这些结果表明,随着训练数据量的增加,情感分析模型能够更准确地捕捉用户评论中的情感倾向,从而为内容创作者和平台运营者提供更有价值的参考。
在将模型保存后,本研究为了数据分析的需要,我们使用模型对部分评论进行预测,并进行分析。如图5-7、图5-8所示。
图5-7部分评论情感预测结果
图5-8评论数据情感统计
从上图可以看出,B站热门视频的评论情感分布具有以下特点:中性评价占多数,在所有评论中,中性评价占据了62.6%的比例,这表明大多数用户在评论视频时持有中立的态度,既没有表现出强烈的喜欢,也没有表现出强烈的不满。这种现象可能表明用户在B站上的评价较为理性和客观,他们更多地在陈述事实或表达一些中性的观点,而非情绪化的反应。负面评价较为显著,占据了26.7%的比例,显示出一部分用户对视频内容存在不满或负面情绪。这可能反映了一些用户对视频质量或内容有较高的期望,或是视频内容本身存在一些不足之处,引发了用户的不满。这类评价对于内容创作者来说,是一种有价值的反馈,可以帮助他们改进视频内容,提高用户满意度。正面评价相对较少,仅占10.7%的比例,显示出相对较少的用户对视频表现出强烈的喜爱和赞赏。尽管正面评价比例较低,但这部分评论往往代表了视频内容的亮点和优势,可以为内容创作者提供有益的参考,继续保持和发扬这些优点。
5.4用户行为可视化分析
通过Matplotlib定义x轴标签(热门视频种类),点赞量、投币量、转发量、评论量等几组数据,使用Matplotlib的bar函数创建了簇状条形图,并设置了相应的标签、标题和图例,如图5-9所示,发现在各热门视频种类不同的情况下投币这一用户行为的总和明显的要高于点赞总和、评论总和等。更能直观的看出在其他条件基本相同时,评论这一用户行为远远小于其他用户行为,其次就是转发,由此可以推断出大多数人只是看视频而不对视频做出点赞等一系列行为。
正常情况下对于B站用户来说“三连”即点赞、投币、收藏这些用户行为应该是差不多相同的。如图5-10所示,展现了“三连”情况和大部分用户想的不太一样。可以很明显的看出收藏这一用户行为相较于点赞和投币是要逊色很多的。众所周知对于B站用户来说,点赞、投币、收藏是可以同时实现的,相较于投币和点赞收藏量却很少的原因以本人的观看习惯来说就显而易见了,即点进一个视频,先暂停视频,然后看评论区,如果是标题欺诈、这样就不会给坏up提供任何播放量或者点赞;任何看完的视频,会尽量给个点赞;任何看完觉得挺厉害的作品,会给个收藏;任何 看完觉得巨牛的作品,会三连;任何看完觉得非常有用,值的反复观看的作品,会单独收藏到非默认的收藏;由此可见值得一键“三连”的视频相较于只值得点赞或投币的视频来说是很少的。
图5-9用户各行为占比
图5-10“三连”情况
使用Matplotlib以热门视频种类作为x轴数据,转发量和评论量作为第一组和第二组数据绘制双折线图添加图例和标签结果如图5-11所示。它展示了评论与转发这两个用户行为之间的联系,由此可看出不同种类下,用户行为会有较大的差异,鬼畜或动画的热门视频评论较多,鬼畜或影视的热门视频转发较多。
图5-11评论及转发
使用Matplotlib以热门视频种类作为x轴数据,播放量作为y轴数据,计算出不同种类下播放量的占比,并添加图例和标签绘制折线图,结果如图5-12所示。
图5-12播放量占比
使用Matplotlib以热门视频种类作为x轴数据,评论量作为y轴数据,计算出不同种类下评论这一用户行为的占比,并添加图例和标签绘制折线图,结果如图5-13所示。
图5-13评论占比
使用Matplotlib以热门视频种类作为x轴数据,投币数作为y轴数据,计算出不同种类下投币这一用户行为的占比,并添加图例和标签绘制折线图,结果如图5-14所示。
图5-14投币占比
使用Matplotlib以热门视频种类作为x轴数据,转发量作为y轴数据,计算出不同种类下转发这一用户行为的占比,并添加图例和标签绘制折线图,结果如图5-15所示。
图5-15转发占比
通过以上播放量和用户行为占比的图可以看出在不同种类的热门视频中鬼畜类型的热门视频对总体播放量占比最高
5.5数据分析结果总结
5.5.1热门视频分析
通过对热门视频的分析,我们发现视频的主题和特征对其受欢迎程度有显著影响。在视频主题方面,时事新闻(如俄乌战争和巴勒斯坦局势)是用户关注的主要内容之一,这类视频能够吸引大量关注和讨论;搞笑视频,尤其是黑色幽默类型的视频,用户对此类视频表现出较高的兴趣和互动;学习类视频(如Python编程教程)则满足了用户对学习内容的需求,表现出较高的关注度;生活小技巧和娱乐新闻也是用户感兴趣的内容,用户对实用的生活小技巧和最新的娱乐新闻表现出较大的兴趣;考研复习和国际形势分析类视频则满足了特定用户群体的需求,并引发广泛的讨论和关注。
在视频特征与受欢迎程度的关联性方面,视频的标签对用户的观看和互动行为有显著影响。例如,搞笑和教程类视频更容易获得高点赞数和互动率。此外,上传时间对视频的播放量也有显著影响,周末上传的视频更容易获得高播放量,可能是因为用户在周末有更多的空闲时间观看视频。通过这些分析,内容创作者可以更好地了解用户的兴趣和行为,从而优化视频内容和推广策略,提高视频的受欢迎程度和用户满意度。
5.5.2用户分析
通过对用户情感和行为的分析,我们发现B站用户在评论视频时,情感较为中立。中性评价占据了62.6%的比例,表明大多数用户持有中立态度,既没有表现出强烈的喜欢,也没有表现出强烈的不满,显示出用户在B站上的评价较为理性和客观,他们更多地在陈述事实或表达一些中性的观点,而非情绪化的反应。负面评价占据了26.7%的比例,显示出一部分用户对视频内容存在不满或负面情绪,这反映了一些用户对视频质量或内容有较高的期望,或是视频内容本身存在一些不足之处,引发了用户的不满。这类评价对于内容创作者来说,是一种有价值的反馈,可以帮助他们改进视频内容,提高用户满意度。正面评价仅占10.7%的比例,显示出相对较少的用户对视频表现出强烈的喜爱和赞赏,尽管正面评价比例较低,但这部分评论往往代表了视频内容的亮点和优势,可以为内容创作者提供有益的参考,继续保持和发扬这些优点。
在用户行为方面,数据显示,在各热门视频种类中,投币这一用户行为的总和明显高于点赞总和和评论总和。同时,评论行为远远小于其他用户行为,其次是转发行为,这表明大多数用户只是看视频,而不对视频做出点赞等一系列行为。正常情况下,对于B站用户来说,点赞、投币和收藏这三个行为应该是差不多相同的。然而,数据显示收藏这一用户行为相较于点赞和投币要逊色很多,这说明尽管用户会对视频进行点赞和投币,但很少进行收藏,这可能与用户的观看习惯和视频的内容质量有关。在不同种类的热门视频中,鬼畜或动画的视频评论较多,而鬼畜或影视的视频转发较多,这表明不同类型的视频会引发不同的用户行为,内容创作者可以根据这些数据来优化视频内容和发布策略。
6 结论与展望
在本研究中,我们利用Python对B站热门视频进行了全面的数据挖掘与分析。研究过程中,首先使用网络爬虫技术(如Scrapy和BeautifulSoup)从B站获取了大量视频数据,包括视频标题、标签、上传时间、播放量、点赞数、评论数和分享数等。随后,针对收集到的数据进行了数据清洗、去重和异常值处理,并存储在MySQL数据库中,以确保数据的准确性和一致性。在数据分析过程中,我们应用了多种数据挖掘方法,包括关联性分析、主题分析和情感分析。
关联性分析方面,我们使用Apriori算法挖掘视频特征之间的关联规则,找出视频标签、上传时间等特征与播放量、点赞数等之间的显著关联。主题分析方面,通过LDA模型对视频标题和描述进行了主题挖掘,揭示了用户对不同主题视频的关注度和兴趣点。情感分析方面,使用朴素贝叶斯分类器对用户评论进行了情感分类,统计了用户对不同视频的正面、负面和中性情感反应。最后,我们使用Matplotlib和Seaborn等工具对分析结果进行了可视化展示。
通过研究发现,大多数用户在评论视频时持有中立态度,显示出用户评价的理性和客观性;负面评价较为显著,反映了用户对视频质量或内容的不满;正面评价相对较少,但提供了有益的参考。同时,不同类型的视频会引发不同的用户行为,内容创作者可以根据这些数据来优化视频内容和发布策略。
展望未来,随着数据挖掘技术的不断发展,我们可以进一步优化分析方法,提升情感分析的准确性和稳定性。未来的研究可以结合更多维度的数据,如用户观看时长、用户画像等,进行更加深入的分析。同时,进一步优化推荐算法,提升用户体验,为内容创作者和平台运营者提供更科学的决策支持。通过不断探索和改进,我们相信可以更好地理解用户需求,提升视频内容的质量和用户满意度。
每文一语
学会适应环境发展