接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.textjd = 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')
根据这张图,我们发现这款电脑还是很受大家欢迎的,主要包括运行速度,系统、屏幕、散热等。感觉也是很简单就能制作一些词云分析。
当然,我们还可以将背景图换掉。
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')
好了,简单的词云图就产生啦,大家可以试一试,非常简单。