正文
Movie_id也进行拼接是为了以后可以只需更改电影id就可以获取不同电影的评论。
将每次循环返回的列表再相加,形成一个大列表
data
。
最后
return
用
join
函数将内容用空分隔。就相当于最后返回的是一篇文章,所有评论都在里面,便于后续的分词。
def
parsepage
(movie_id
,
page_num):
data = []
for
i
in
range
(page_num):
url =
"https://movie.douban.com/subject/"
+
str
(movie_id) +
"/comments?start="
+
str
(
20
* i) +
"&limit=20"
data +=onepage(url)
print
(
"parsing page %d"
% (i+
1
))#
提示信息,显示当前正在解析第几页
time.sleep(
6
)#
每解析一页,就暂停
6
秒钟。防止给服务器造成不必要的资源浪费
return
" "
.join(data)
如图,以下就是返回的结果。
接下来,通过jieba中文分词对列表的评论进行分词。
jieba
是基于Python的中文分词工具,安装使用非常方便,直接pip即可:
执行命令安装:
pip install jieba
这里是jieba分词的官方网站:
https://github.com/fxsjy/jieba
安装完毕我们导入:
通过上面返回的
data
,我们将data直接传入
jieba
的
lcut
方法。然后就返回了分词结果。
import
jieba
all_comments =jieba.lcut(data)
print
(all_comments)
我们可以将其打印出来看一下:
可以发现jieba分词已经将评论内容分解为一个一个的单字或词语,并且是一个列表。
因为生成词云图需要的是每个词语之间用空格分隔,所以我们还是用
join
方法,将上面返回的分词结果传入join函数,将其用空格分隔,并存入
words
列表。
words = []
words = " ".join(all_comments)
至此,words就是我们需要生成词云图的文字内容。
现在,我们已经将评论内容的准备工作完成。
激动人心的时刻终于到来!
使用
Wordcloud
库将其生成漂亮的词云图。
同样,使用命令安装:
pip install wordcloud
这里是wordcloud的主页:
https://github.com/amueller/word_cloud
可以在这里对wordcloud有个大致了解。
注意:安装期间可能会出现错误:需要VC ++ 库等,此时不要着急。这里给出解决方案:
https://www.lfd.uci.edu/~gohlke/pythonlibs/#wordcloud
打开上面的网址,会跳转到如下界面:根据你的版本进行下载。