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:UsersAdministratorDesktoppython项目爬虫京东评论siyun.png')

c9d146b09647345c7e5c573cfd0065ab.png

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

当然,我们还可以将背景图换掉。

97074a96e930daecc8c26d6824162df6.png
from PIL import Image
import numpy as np
img = Image.open(r'C:UsersAdministratorDesktop图片京东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:UsersAdministratorDesktoppython项目爬虫京东评论siyun1.png')

46a9065f6434d02fd7f4b6078a227d60.png

好了,简单的词云图就产生啦,大家可以试一试,非常简单。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值