吃瓜的正确姿势,Python绘制罗志祥词云图
程序员文章站
2022-03-26 21:06:09
前言 文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。 这篇文章中向大家介绍了Python绘制词云的方法,不难看出绘制词云可以说是一个“吃瓜神器”,它可以让我们直观的看到新闻的核心内容。那么对于今天的大新闻,我们就继续用Python ......
前言
文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。
这篇文章中向大家介绍了python绘制词云的方法,不难看出绘制词云可以说是一个“吃瓜神器”,它可以让我们直观的看到新闻的核心内容。那么对于今天的大新闻,我们就继续用python绘制词云的“正确姿势”来一起吃瓜吧~
废话不多说,上代码
# 导入依赖模块 import json import requests import jieba import pandas as pd import wordcloud import numpy as np import pil.image as image import matplotlib.pyplot as plt from pandas.io.json import json_normalize # 请求头 headers = {'user-agent': 'mozilla/5.0 (windows nt 10.0; wow64) applewebkit/537.36 (khtml, like gecko) chrome/80.0.3987.106 safari/537.36'} # 评论地址 url="http://comment.api.163.com/api/v1/products/a2869674571f77b5a0867c3d71db5856/threads/fastlq7i00038fo9/comments/newlist?ibc=newspc&limit=30&showlevelthreshold=72&headlimit=1&taillimit=2&offset={}" # 循环爬取 df = pandas.dataframe(none) i = 0 while true: ret = requests.get(url.format(str(i*30)), headers=headers) text = ret.text result = json.loads(text) t = result['comments'].values() s = json_normalize(t) i += 1 if len(s) == 0: print("爬取结束") break else: df = df.append(s) print("第{}页爬取完毕".format(i)) # 评论去重 df=df.drop_duplicates('commentid').reset_index(drop=true) # 评论分词 word = [ y for x in df.content.tolist() for y in list(jieba.cut(x)) ] # 读取词云模板 mask = np.array(image.open("d:/gua.jpg")) # 设置停用词 stopword=[ '一个','这个','不是','就是','没有','什么','这么','这样', '这种','怎么','斜眼','微笑','喷水','大笑','跟帖','br' ] # 设置词云图层属性 wd=wordcloud.wordcloud(font_path='c:/windows/fonts/simhei.ttf', stopwords=stopword, mask=mask, collocations=false) # 创建词云对象 wd=wd.generate(",".join(word)) # 将词云模板的颜色设置为输出词云的颜色 image_colors = wordcloud.imagecolorgenerator(mask) # 从背景图建立颜色方案 wd.recolor(color_func=image_colors) # 绘制词云 plt.imshow(wd) # 隐藏坐标轴 plt.axis('off') # 画图 plt.show()
实现效果图
给位观众,这个瓜可还可口?
如果你处于想学python或者正在学习python,python的教程不少了吧,但是是最新的吗?说不定你学了可能是两年前人家就学过的内容,在这小编分享一波2020最新的python教程。获取方式,私信小编 “ 资料 ”,即可免费获取哦!
上一篇: php中的elseif和else if