VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > Python基础教程 >
  • 我用Python爬了12万条影评,告诉你《战狼》都在说些啥(2)

以上代码注意设置你自己的 User-Agent,Cookie,CSV 保存路径等。

爬取的内容保存成 CSV 格式的文件,保存的文件内容如下:

数据清洗

本文用 R语言来处理数据,虽然在爬取的时候已经非常注意爬取内容的结构了,但是还是不可避免的有一些值不是我们想要的。

比如有的评论内容会出现在评论者这一项中,所以还是有必要进行一下数据的清洗。

首先加载要用到的所有包:

1
2
3
4
5
6
library(data.table)
library(plotly)
library(stringr)
library(jiebaR)
library(wordcloud2)
library(magrittr)

 

导入数据并清洗:

1
2
3
4
dt<-fread(file.choose()) #导入数据
dt[,c("V8","V9","V10","V11","V12","V13"):=NULL] #删除空列
#一条命令清洗数据
my_dt<-dt[str_detect(赞成评论数,"d+")][评论有用=='有用'][是否看过=="看过"][五星数%in%c("很差","较差","还行","推荐","力荐")]

数据浅析

先来看一看通过星星数评论的情况:

1
plot_ly(my_dt[,.(.N),by=.(五星数)],type 'bar',x=~五星数,y=~N)

五角星的个数对应 5 个等级,5 颗星代表力荐,4 颗星代表推荐,3 颗星代表还行,2 颗星代表较差,1 颗星代表很差。

通过五角星的评论显而易见,我们有理由相信绝大部分观看者对这部影片持满意态度。

对评论结果的云图展示

首先我们应该先进行评论的分词:

1
2
3
4
5
6
7
8
9
10
11
12
wk <- worker()
sw<-function(x){wk<=x}
segwords<-lapply(my_dt[,评论内容],sw)
my_segwords<-unlist(segwords) #不要列表
#去除停止词
st<-readLines(file.choose()) #读取停止词
stopwords<-c(NULL)
for(i in 1:length(st))
{
  stopwords[i]<-st[i]
}
seg_Words<-filter_segment(my_segwords,stopwords)  #去除中文停止词

相关教程