python爬虫——京东评论jieba分词wordcloud词云统计
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python爬虫——京东评论jieba分词wordcloud词云统计相关的知识,希望对你有一定的参考价值。
接上一章,抓取京东评论区内容。
url=‘https://club.jd.com/comment/productPageComments.action?callback=fetchJSON_comment98vv399&productId=4560435&score=0&sortType=5&page=0&pageSize=10&isShadowSku=0&fold=1’
重点是productId——产品id、page——页码、pageSize:指定每一页展示多少评论
#coding:utf-8 import requests import json,time def get_detail(url): wbdata = requests.get(url).text wbdata = wbdata[25:-2] data = json.loads(wbdata) news = data[‘comments‘] for n in news: title = n[‘content‘] print title print ‘-‘*20 for i in range(30): url = ‘https://club.jd.com/comment/productPageComments.action?callback=fetchJSON_comment98vv399&productId=4560435&score=0&sortType=5&page=‘ +str(i) +‘&pageSize=10&isShadowSku=0&fold=1‘ #url = ‘https://club.jd.com/comment/productPageComments.action?callback=fetchJSON_comment98vv399&productId=4560435&score=0&sortType=5&page=0&pageSize=10&isShadowSku=0&fold=1‘ if requests.get(url).status_code == 200: get_detail(url) time.sleep(10) print i
代码类似,不详细说明(get、json、数据处理)。
加入time.sleep(10)防止ip被禁。
结果如下:
----------------------------------------------------------
想比较直观的显示评论重点,因此加入jieba分词还有wordcloud词云(没有库的,通过pip install jieba)
import matplotlib.pyplot as plt from wordcloud import WordCloud import jieba,os text_from_file_with_apath = open(‘sss.txt‘).read() wordlist_after_jieba = jieba.cut(text_from_file_with_apath, cut_all = True) wl_space_split = " ".join(wordlist_after_jieba) my_wordcloud = WordCloud().generate(wl_space_split) plt.imshow(my_wordcloud) plt.axis("off") plt.show()
简陋版词云效果。
wordcloud 默认使用了DroidSansMono.ttf 字体库,改一下换成一个支持中文的ttf 字库, 重新运行一下这十行代码,就可以了。
wordcloud词云默认不支持中文,可能会显示还多矩形框。
解决办法——改一下换成一个支持中文的ttf 字库
Python27\\Lib\\site-packages\\wordcloud.py 中的 ---- DroidSansMono.ttf 替换修改为 simfang.ttf
在线词云生成网页:https://wordart.com/create
以上是关于python爬虫——京东评论jieba分词wordcloud词云统计的主要内容,如果未能解决你的问题,请参考以下文章
python基础===jieba模块,Python 中文分词组件