当前位置:   article > 正文

python爬携程上出境游数据_python爬取携程旅游评价信息词云图分析

出入境旅游相关的词云图

python爬取携程旅游评价信息词云图分析

前言

前面咱们已经分析过如何爬取携程旅游的相关信息,如果没有看过的,可以先跳转看一下前面的那篇博客:python 爬虫 一键爬取携程旅游团数据

这一篇呢,咱们主要使用jieba和wordcloud这两个包进行评价词云图分析。jieba是一个中文分词的工具包,wordcloud是专门用来画词云图的。

先来看看效果图吧

从图中我们也能够看到,大家评价大多数是不错、方便这种积极的态度。对整体旅行的评价,通过这张图我们还是能够有很清楚的认识的。接下来,我将详细的讲一下源代码。

源代码分析

这次代码的讲解是基于上一篇博客,建议先浏览上一篇博客。

上次我们能够将旅游团的游客的评价爬取出来,这次,我们先将评价信息输出到文本中。

1. 评价输出文本

def mainfun():

comment_all = []

traveldestination = ['重庆']#这里是添加旅游地点

for i in range(len(traveldestination)):

listdata = test1(traveldestination[i])

print("地点:",traveldestination[i],end='\n')

for data in listdata:

print(data[0])

comment_all.append(test2(data[1]))

with open('comments.txt',encoding='utf-8',mode='w') as f:

for comment in comment_all:

for comment_data in comment:

f.write(comment_data+'\n')

此方法在原有基础上,将评价信息首先存储到list列表中,然后通过for循环输出到txt文件中。

同时,test2()方法我们也做了两处地方的修改:

2. jieba分词

def splitword():

with open('comments.txt',encoding='utf-8',mode='r') as f:

listdata = f.readlines()

commentdata = []

for delword in ['我们','酒店','携程','就是','自己']:

jieba.del_word(delword)

for data in listdata:

commentdata.append(' '.join(jieba.cut(data,cut_all=False)))

dataall = ' '.join(commentdata)

return dataall

我们首先看一下txt文本中的数据形式:

此方法的作用是对这些长句子进行分词,以此来分析关键词。

通过jieba.del_word()方法,可以去掉一些没有意义的词语,这些词语出现频率高,但是对我们没有任何信息价值。

jieba.cut()参数1 是数据文本,类型需要时str。参数2是cut_all,为True是,为全模式,为False时,为精确模式。

3. wordcloud词云图

def word_cloud(dataall):

maskpng = np.array(Image.open('mask.png'))

WordClouds = WordCloud(background_color='white',

mask=maskpng,#遮罩图

font_path='font/msyh.ttf',#字体

max_words=50,#最大词数

random_state=50,#随机种子

scale=1.5 #放大比例

)

WordClouds.generate(dataall)

plt.imshow(WordClouds)

plt.axis('off')

plt.show()

首先我们创建一个WordCloud对象,然后设置相应的参数

使用WordClouds.generate(dataall) 生成词云图

plt.imshow(WordClouds)显示词云图

不显示坐标轴

由于我是在pycharm写的代码,所以需要写上plt.show() 才能够显示,jupyter notebook 上不用添加这个语句。

对象方法详细参数说明:详细参数说明

总结

词云图通过字体的大小来表示词语出现的频率,使我们能够更加直观的看到文本中的关键信息。同时这两个包还有很多其他的用法,大家可以多去尝试一下,在这里我们只是举了个非常简单的例子供大家参考。

最后附上jieba和wordcloud两个包的github地址

wordcloud

常简单的例子供大家参考。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/372300
推荐阅读
相关标签
  

闽ICP备14008679号