没有合适的资源?快使用搜索试试~ 我知道了~
第一阶段(12.8~1.22): 共爬取新闻938条,其中疫情相关新闻160条,占17%,去除格式异常的新闻后,剩余156条,即样本容量为156. Step1:
资源详情
资源评论
资源推荐
![](https://csdnimg.cn/release/download_crawler_static/86342397/bg1.jpg)
爬虫数据的预处理,数据分析及重点新闻评论筛选
作者:汪喆 191250134
实验环境:python3.7,xlrd 模块,scipy 模块,pandas 模块,numpy 模块,
matplotlib.pyplot 模块,math 模块,xlsxwriter 模块,pycharm,WPS 的 excel
实验目标:从爬虫数据中筛选出与疫情有关的新闻,并对新闻评论数作数据
分析与可视化,再以数据分析结果为依据筛选出疫情相关重点新闻评论。
实验步骤:
一、爬虫数据预处理
所获的爬虫数据是四个 Excel 表格,第一列为新闻摘要,第二列为新闻评论
数,第三至若干列为新闻评论。
Step1:只关注 excel 表格的第一列即可。注意到新闻摘要普遍开头第一个自
符为【,则将其作为后续程序的判断依据,与疫情相关的新闻其摘要以【开头,
而与疫情无关新闻的摘要以其他自符开头。故删去疫情无关新闻摘要开头的【,
为不是【开头的疫情相关新闻摘要加上【。
二、疫情相关数据的读入
以第一阶段为例,另外三阶段同理。
Step1:遍历 excel 表的每一行,首先判断每行第一列单元格的首字符是否为【
。若是,则进一步读取该行数据,否则跳过该行。
Step2:对于疫情相关新闻(行首单元格首字符为【),再遍历行,将该行的
![](https://csdnimg.cn/release/download_crawler_static/86342397/bg2.jpg)
第二个单元格即评论数以及之后的评论不超过 70 条存入小列表 thisnews 中,若
所得的 thisnews 列表合法,则将其添加到大列表 relatednews(疫情相关新闻中。
Step3:将所有新闻的评论数存入列表 numOfcomments,作为后续数据分析的
样本。
所存储的数据结构为:列表 relatednews 中元素也为列表,即若干列表
thisnews 的数据。列表 thisnews 中第 1 个元素为对应新闻的评论数(int),第 2
~71 个元素为对应新闻的 70 条合法评论(string)。
代码如下:
workbook=xlrd.open_workbook(r'/Users/sebas/第一阶段(12.8~1.22)
before.xls')
sheet_name = workbook.sheet_names()[0]
sheet = workbook.sheet_by_index(0)
relatednews=[]
for i in range(0,len(sheet.col_values(0))): #i 是遍历每行
if sheet.cell_value(i,0)[0]=='【':
thisnews=[] #每个疫情新闻存到一个列表里,第一项评论数,后面 70 条
评论
commentnumOfthisnews=int(sheet.cell_value(i,1))
thisnews.append(commentnumOfthisnews)
j=2
while j<len(sheet.row_values(i)) and len(thisnews)<71: #加够
1+70 即可
if(sheet.cell_value(i,j)=="我是只大大龙"): #若非法,则不添加
j+=1
continue
thisnews.append(sheet.cell_value(i,j))
j+=1
if(len(thisnews)==71): #1+70,则加到 relatednews 里
relatednews.append(thisnews)
#获得评论数数组
numOfcomments=[]
for i in range(0,len(relatednews)):
numOfcomments.append(relatednews[i][0])
![](https://csdnimg.cn/release/download_crawler_static/86342397/bg3.jpg)
三、数据处理以及可视化
由于四个阶段所获得的评论数数据存在差异,采用了一些不同的数据处理方
法,遂分为以下四个阶段进行描述。
第一阶段(12.8~1.22):
共爬取新闻 938 条,其中疫情相关新闻 160 条,占 17%,去除格式异常的新
闻后,剩余 156 条,即样本容量为 156.
Step1:对总体评论数进行可视化
由图中可以看出,若去掉极端数据,其分布近似服从半正态分布,下面进行
检验。
Step2:去掉极端数据,补全 y 轴左半边数据,并对近似正态数据进行可视化
若评论数大于 15000,则去掉,最终所得符合条件的新闻数为 139.
代码如下:
![](https://csdnimg.cn/release/download_crawler_static/86342397/bg4.jpg)
for i in range(0,len(numOfcomments)):
# 去掉过于极端数据,156-=139 求得 p 值=0.09>0.05 有 95%的可信度为正态分布
if(numOfcomments[i]>15000):
continue
normdata.append(numOfcomments[i])
normdata.append(-numOfcomments[i])
numofndata+=1
print(numofndata)
visual(normdata,30)
kscheck(normdata)
normfit(normdata)
Step3:进行正态分布 ks 检验以及频率分布直方图与正态拟合曲线可视化
由于卡方拟合优度检验主要用于类别数据,且需要对数据进行分组,而 ks
检验能直接对原始数据进行检验,所以它对数据的利用比较完整,故采用 ks 检
验,ks 检验也是通过计算理论频数与实际频数的差值来判断某一组数据是否近
似符合某一分布,属于非参数假设检验。若 p 值>0.05(显著性水平),则可以认
为样本服从正态分布。
结果分别为:近似正态数据的均值,标准差,ks 检验结果
0.0 5073.570405962642
KstestResult(statistic=0.07410443750871726,
pvalue=0.08972989524283492)
p 值>0.05,故近似服从正态分布。拟合图像为:
剩余16页未读,继续阅读
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![pptx](https://img-home.csdnimg.cn/images/20210720083543.png)
![pptx](https://img-home.csdnimg.cn/images/20210720083543.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![ppt](https://img-home.csdnimg.cn/images/20210720083527.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![pptx](https://img-home.csdnimg.cn/images/20210720083543.png)
![pptx](https://img-home.csdnimg.cn/images/20210720083543.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![avatar](https://profile-avatar.csdnimg.cn/bb913a7af6af454e99c7a75503d036ef_weixin_35804761.jpg!1)
会飞的黄油
- 粉丝: 25
- 资源: 303
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![voice](https://csdnimg.cn/release/downloadcmsfe/public/img/voice.245cc511.png)
![center-task](https://csdnimg.cn/release/downloadcmsfe/public/img/center-task.c2eda91a.png)
最新资源
- 前端学习笔记,做一个简单的网站-留言板,学习代码
- 前端学习笔记,做一个简单的网站-数组转对象,学习代码
- 前端学习笔记,做一个简单的网站-数组排序,学习代码
- 前端学习笔记,做一个简单的网站-数组去重,学习代码
- 前端学习笔记,做一个简单的网站-数组去0,学习代码
- 前端学习笔记,做一个简单的网站-将class的属性值中的hide更换为show,学习代码
- 前端学习笔记,做一个简单的网站-将class的属性值中的hide更换为show,学习代码
- 前端学习笔记,做一个简单的网站-喇叭花数,学习代码
- 前端学习笔记,做一个简单的网站-利用事件委托的方法,给一个无序列表的列表项添加点击更改背景色事件,学习代码
- LiveDraw 64位
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
![feedback](https://img-home.csdnimg.cn/images/20220527035711.png)
![feedback](https://img-home.csdnimg.cn/images/20220527035711.png)
![feedback-tip](https://img-home.csdnimg.cn/images/20220527035111.png)
安全验证
文档复制为VIP权益,开通VIP直接复制
![dialog-icon](https://csdnimg.cn/release/downloadcmsfe/public/img/green-success.6a4acb44.png)
评论0