python制作京东评论词云图

python制作京东评论词云图

接上一篇文章python爬取京东评论,在这篇文章的基础上进行词频分析。

首先我们把之前爬取的10页评论保存到文本文件

import jieba
import wordcloud
for page in range(0,10+1):
    header = {
     "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.131 Safari/537.36"}

    url = 'https://club.jd.com/comment/productPageComments.action?callback=fetchJSON_comment98&productId=5225346&score=0&sortType=5&page={}&pageSize=10&isShadowSku=0&rid=0&fold=1'.format(page)
    response = requests.get(url, headers=header)
    data = response.text
    jd = json.loads(data.lstrip('fetchJSON_comment98vv12345(').rstrip(');'))
    data_list = jd['comments']
    for data in data_list:
        content = data['content']
        # print(content)
        with open('ci.txt','a+') as f:
            f.write(content + '\n')

接下来,我们将对爬取下来的文本进行读取,因为我们对于评论还需要做一些清理,将一些介词或者感叹词删掉,在这里先准备一个stopword的文本文件,可在里面添加你认为不重要的词汇。

with open('ci.txt') as f,open("stopword.txt") as f2:
    stopwords = f2.read()
    content = f.read()
    wordlist = jieba.cut(content)
    words = []
    for word in wordlist:
        if len(word)>1 and word not in stopwords:
            words.append(word)

    wc = wordcloud.WordCloud(width=1000, font_path='simfang.ttf',height=800)#设定词云画的大小字体,一定要设定字体,否则中文显示不出来
    wc.generate(' '.join(words))
    wc.to_file(r'C:\Users\Administrator\Desktop\python\项目\爬虫\京东评论\siyun.png')

python制作京东评论词云图_第1张图片
根据这张图,我们发现这款电脑还是很受大家欢迎的,主要包括运行速度,系统、屏幕、散热等。感觉也是很简单就能制作一些词云分析。

当然,我们还可以将背景图换掉。
python制作京东评论词云图_第2张图片

from PIL import Image
import numpy as np
img = Image.open(r'C:\Users\Administrator\Desktop\图片\京东\129.jpg')
resized = np.array(img)

wc_1 = wordcloud.WordCloud(
    background_color='white',
    width=1000,
    height=800,
    mask=resized,
    font_path='simfang.ttf'
)
wc_1.generate_from_text(' '.join(words))
wc_1.to_file(r'C:\Users\Administrator\Desktop\python\项目\爬虫\京东评论\siyun1.png')

python制作京东评论词云图_第3张图片
好了,简单的词云图就产生啦,大家可以试一试,非常简单。

你可能感兴趣的:(python制作京东评论词云图)