接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](https://i-blog.csdnimg.cn/blog_migrate/d5257b311e9b49248064ba30d01a71f8.jpeg)
根据这张图,我们发现这款电脑还是很受大家欢迎的,主要包括运行速度,系统、屏幕、散热等。感觉也是很简单就能制作一些词云分析。
当然,我们还可以将背景图换掉。
![97074a96e930daecc8c26d6824162df6.png](https://i-blog.csdnimg.cn/blog_migrate/205b0bcbc3f4fde91ae5e5a8a374e25d.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](https://i-blog.csdnimg.cn/blog_migrate/756d7ba9f1d9bdcd01c77ddcd2c5d9f3.jpeg)
好了,简单的词云图就产生啦,大家可以试一试,非常简单。