有位做电商的小伙伴,希望观察买家的留言、评论,找出大多数买家们对产品的总体评价,以便后续进行改进。
因为隐私的原因,永恒君直接以某东的商品为例吧~~
1、事先爬取了该商品的买家评论,一共爬了100页约400条的评论信息。
保存成jd_comment.txt文件。
jieba 是一个python实现的中文分词组件,在中文分词界非常出名,支持简、繁体中文,高级用户还可以加入自定义词典以提高分词的准确率。如果是英文的话就无需使用这个库。
基本的使用只用cut_text = " ".join(jieba.lcut(contents))
这一句就足够了。
import jieba
f=open('jd_comment.txt','r') #打开评论文件
contents=f.read() #读取内容
cut_text = " ".join(jieba.lcut(contents)) #进行分词,保存在cut_text 变量中。
3、使用wordcloud库,将上面的词汇用词云的方式展示。
wordcloud库,是python非常优秀的词云展示第三方库。词云以词语为基本单位更加直观和艺术的展示文本,像下图这样:
可以直观看到,出现频率越多的次,在图中字体越大,越明显。
将上面的cut_text
导入wordcloud,定义好生成对象的尺寸、颜色等参数,就可以生成图片了。
from wordcloud import WordCloud,ImageColorGenerator
wc = WordCloud(font_path='/usr/share/fonts/winfonts/simfang.ttf',
background_color='White',
max_words=1000,
width=1000,
height=500,
scale=1,
)
#font_path:设置字体,max_words:出现的最多词数量
wc.generate(cut_text)
wc.to_file("jd_comment.jpg")
效果如下图:
完整代码,一共不到20行
from wordcloud import WordCloud,ImageColorGenerator
import jieba
f=open('jd_comment.txt','r')
contents=f.read()
cut_text = " ".join(jieba.lcut(contents))
wc = WordCloud(font_path='/usr/share/fonts/winfonts/simfang.ttf',
background_color='White',
max_words=1000,
width=1000,
height=500,
scale=1,
)
#font_path:设置字体,max_words:出现的最多词数量,mask参数=图片背景,必须要写上,另外有mask参数再设定宽高是无效的
wc.generate(cut_text)
wc.to_file("jd_comment.jpg")#保存生成图片
你可能还会想看:
1、python办公 - 面对大量的扫描文件,你还在挨个手工处理吗?
2、教你如何用python制作一个微信机器人陪你聊天,只要几行代码
3、用python定制网页跟踪神器,有信息更新第一时间通知你(附视频演示)
4、把python网页跟踪神器部署到云上,彻底解放你的电脑
5、python实现浏览器自动化操作
微信公众号:永恒君的百宝箱
个人博客:www.yhjbox.com
转载请注明:永恒君的百宝箱 » python助你快速读懂文字内心!