**Ps:**整个项目主要对B站热门高考视频、B站近期发布的高考视频以及人民日报和央视新闻以”高考“为关键词的视频进行爬取和分析。主要分析的内容是发布时间、播放量以及标题信息,主要进行数据可视化、分析和词性词频分析以及情感分析。以下是对相关部分的说明。
## 一、data_get
#### 1.实现目标
(1)从 B 站中获取以”高考“为关键词、按照播放量排序的视频数据,包括作者、标题、连接、播放量、弹幕数量等信息
(2)从 B 站中获取以”高考“为关键词、按照发布时间排序的视频数据,包括作者、标题、连接、播放量、弹幕数量等信息
(3)从 B 站获得“人民日报”、“央视新闻”这两个主流媒体以”高考“为关键词的视频数据,由于 B 站主页的限制信息,我们不考虑发布时间,只获取作者、链接、标题、简介等信息
#### 2.要求
(1)需要电脑上安装有 python3.0+的版本
(2)需要提前通过 pip 下载所需要的数据包
包括:random、requests、time、BeautifulSoup、pandas、lxml、re
(3)需要有浏览器
#### 3.文件说明
(1)一共有四个 get_data 的文件,分别是获取 B 站的以”高考“为关键词、按照播放量排序的视频数据、获取以”高考“为关键词、按照发布时间排序的视频数据、获得“人民日报”、“央视新闻”这两个主流媒体以”高考“为关键词的视频数据的。
(2)运行顺序不分先后
(3)会分别生成 Data-总(播放量).xlsx、Data-总(最新).xlsx、Data-人民日报.xlsx、Data-央视新闻.xlsx 四个表格文件
(4)目前生成的文件中 Data-总(最新).xlsx 是 2022-06-17 生成、其他都是 2022-06-09 生成
#### 4.爬取过程
(1)B 站以“高考”为关键词并且以“播放量”为搜索条件的视频信息进行爬取
① 网址获取
首先观察网站的特点,发现需要翻页才能获取数据,但是网页的网址是有顺序的。以“高考”为关键词并且以“播放量”为搜索条件时,首页的网址为“https://search.bilibili.com/all?keyword=%E9%AB%98%E8%80%83&from_source=webtop_search&spm_id_from=333.1007&order=click”,第二页的网址为“https://search.bilibili.com/all?keyword=%E9%AB%98%E8%80%83&from_source=webtop_search&spm_id_from=333.1007&order=click&page=2&o=36”,因此,提取出相同部分,不同部分是“page”和“o”,其中"o"是“page-1”的36倍,可以进行计算获得。
② 获取网页响应
首先知道要定制多少的页面,根据网页代码中的类属性为“page-item last"的”li"标签数量可以知道网站数量。其次要根据网站数量去获取网址信息和网页数据。
③ 筛选数据
发现网页数据中可以 BeautifulSoup 的 find_all 方法获取需要的数据。包括标题、链接、简介、up 主、播放量、弹幕数量、上传时间。
④ 存储数据
通过 pandas 方法,将列表信息放入一个大的字典中,然后通过字典创建 dataframe,dataframe 是一种表格型的数据存储结构,可以看作是几个 serie 的集合。dataframe 既有行索引,也有列索引。最后写入到表格中 frame
(2)站以“高考”为标签对近期发布的热门视频信息和以“高考”为关键词的个人主页的视频信息进行爬取
① 网址获取
根据观察发现“人民日报”和“央视新闻”两家主流媒体关于“高考”的视频不超过两页,所以不需要去定制网站。因为B站的标签网页中没有翻页设置,而是滚动设置,我们提取这个网站的信息也不是为了进行比较详细的分析,所以我就只提取了几百个视频的信息。
② 网页响应
为了获取更完整的信息,我们尽可能地模仿真实的浏览器访问网站,通过定制访问头的方式获取网页信息。
③ 数据筛选
经过多次尝试,认为正则表达式更佳,更为简单,正则表达式多用于文本处理与提取信息,相对于 python 内置字符串的处理,正则的代码量更少。因为我们的数据要求用万来表示播放量,而视频中有一些没有到万,所以注意处理一下。获取有关的标题、up 主、播放量、简介信息。
④ 存储数据
通过 pandas 方法,将列表信息放入一个大的字典中,然后通过字典创建 dataframe,dataframe是一种表格型的数据存储结构,可以看作是几个 serie 的集合。dataframe 既有行索引,也有列索引。最后写入到表格中。
## 二、primary_visual
#### 1.实现目标
(1)通过初步对播放量和时间的可视化分析近些年B站关于高考类的高播放量热度的特点,生成动态的高考视频发布数量与播放热度图。
(2)通过对平均播放量的计算和播放量的可视化比较人民日报和央视新闻的稿件热度。
#### 2.要求
(1)需要电脑上安装有 python3.0+的版本以及Jupyter Notebook。Jupyter Notebook是以网页的形式打开,可以在网页页面中直接编写代码和运行代码,代码的运行结果也会直接在代码块下显示。如在编程过程中需要编写说明文档,可在同一个页面中直接编写,便于作及时的说明和解释。
(2)需要提前通过 pip 下载所需要的数据包
包括:pyecharts、pandas、numpy、matplotlib
(3)需要通过浏览器观察效果
(4)提前获取相关数据
#### 3.文件说明
(1)有两个ipynb文件,即“初步可视化-总(播放量).ipynb”和"人民日报与央视新闻.ipynb",请通过Jupyter Notebook进行运行。
(2)生成一个“active”为名的html文件,可用浏览器打开。还可以生成相应的图片。
#### 4.实现过程
(1)对B站热门高考视频播放量和时间的可视化
①读取数据
通过pandas工具包的read_excel方法读取表格数据,可用指定读取的表格名,但是我就一个表格,所以就不指定了。如果是CSV格式的,则采用read_csv方法读取。
②数据预处理
A. 转化数值单位
我们需要用到的播放量的数据是以字符串的方式存储到表格中,所以提取的时候也会是字符串类型,所以为了保证图表的可行性,我们需要转化数值单位。这时候采取定义函数的方式更合适,因为要转化的数据量很多,不适合一个一个执行。
B.数据去重
文本中可能难免有重复项。虽然我提取到的数据没有,但不代表其他的数据没有。
C.时间单位的转换
发布时间的数据是以字符串的形式存储的,当提取的时候也会是字符串的形式,这对于我们的图表的制作是非常不利的,所以需要进行数据类型的转换。通过pandas里的to_datetime方法进行类型转换。
③绘制图表
A.发布热度和总播放量的计算
通过将日期进行分类和数量的计算和对当天,并按照日期的分组对视频播放量进行求和计算。
B.折线图的绘制
通过Line方法绘制折线图,并标记最大点和最小点。注意将两个图进行叠加。设置坐标轴的名称、类型、刻度值、位置等信息。最后保存成html格式。
(2)人民日报和央视新闻的高考有关视频的可视化
①读取数据
使用pandas获取人民日报和央视新闻的表格数据。并获取播放量的数据。
②计算平均播放量
③可视化
通过处理中文字体的显示问题后绘制直方图。并绘制人民日报和央视新闻视频播放量的折线图。
## 三、word_seg
#### 1.实现目标
(1)对B站高考热门视频的标题进行词云图的制作,然后计算关键词和权重生成关键词权重图,然后进行分词、词性、词频的统计与可视化。
(2)对B站高考近期发布的视频的标题进行词云图的制作。
(3)对B站中人民日报和�
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
整个项目主要对B站热门高考视频、B站近期发布的高考视频以及人民日报和央视新闻以”高考“为关键词的视频进行爬取和分析。主要分析的内容是发布时间、播放量以及标题信息,主要进行数据可视化、分析和词性词频分析以及情感分析。以下是对相关部分的说明。 可直接提交。
资源推荐
资源详情
资源评论
收起资源包目录
python-b站高考数据爬取及数据分析建模可视化完整(.ipynb中有分析结果的过程).zip (57个子文件)
B站高考热门视频数词频率图.jpg 13KB
情感分类环形图-总.jpg 10KB
wcseg-人民日报.ipynb 127KB
人民日报与央视新闻平均播放量.jpg 10KB
B站人民日报高考视频形容词频率图.jpg 12KB
active.html 145KB
词性词频-人民日报.xlsx 14KB
Data-总(播放量).xlsx 213KB
03_word_seg
B站高考热门视频词性频率图.jpg 30KB
词性词频-总(播放量).xlsx 276KB
情感分数-央视新闻.xlsx 10KB
02_primary_visual
高考热门视频发布数量与播放总量走势图.png 137KB
央视新闻B站高考视频播放量.jpg 14KB
sentiment-央视新闻.ipynb 45KB
人民日报B站高考视频播放量.jpg 12KB
词云-总(最新).jpg 697KB
Data-人民日报.xlsx 6KB
人民日报与央视新闻.ipynb 86KB
B站高考视频词性频率图-央视新闻.jpg 28KB
B站人民日报高考视频情感分析图.jpg 12KB
readme.md 12KB
关键词权重图-央视新闻.jpg 30KB
B站高考视频词性频率图-人民日报.jpg 30KB
B站高考热门视频名词频率图.jpg 16KB
词云-总(播放量).jpg 703KB
Data-总(最新).xlsx 38KB
情感分类环形图-人民日报.jpg 11KB
B站央视新闻高考视频情感分析图.jpg 11KB
B站高考热门视频形容词频率图.jpg 14KB
关键词权重图-总(播放量).jpg 29KB
B站高考热门视频代词频率图.jpg 15KB
词性词频-央视新闻.xlsx 22KB
B站高考热门视频结构助词频率图.jpg 7KB
情感分数-总.xlsx 106KB
sentiment-总.ipynb 72KB
get_data_央视新闻.py 2KB
情感分类环形图-央视新闻.jpg 11KB
sentiment-人民日报.ipynb 44KB
词云-人民日报.jpg 538KB
04_sentiment
关键词权重图-人民日报.jpg 28KB
get_data_人民日报.py 1KB
get_data_最新发布.py 4KB
B站高考热门视频动词频率图.jpg 14KB
B站高考热门视频副词频率图.jpg 15KB
初步可视化-总(播放量).ipynb 19KB
01_data_get
B站高考热门视频符号频率图.jpg 7KB
wcseg-总(最新).ipynb 78KB
wcseg-央视新闻.ipynb 146KB
情感分析图-总.jpg 11KB
B站央视新闻高考视频形容词频率图.jpg 15KB
方正粗黑宋简体.ttf 2.65MB
词云-央视新闻.jpg 562KB
情感分数-人民日报.xlsx 6KB
stopwords.txt 11KB
get_data_播放量.py 3KB
wcseg-总(播放量).ipynb 527KB
Data-央视新闻.xlsx 15KB
共 57 条
- 1
瞲_大河弯弯
- 粉丝: 1396
- 资源: 135
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
前往页