Python对网页内容作词云图分析

在线生成词云图

  • WordArt
    定制性比较强,支持中文,但是图中的词需要手动输入。
    https://wordart.com/

Python生成词云图

本文介绍使用Python程序生成词云图,它依赖的三方库wordcloud需要编译C++库,在Windows搭建环境比较复杂,建议在Linux系统中安装使用。

下例中使用了urllib库从抓取网页内容,jieba库用于分词,wordcould库用于生成词云,代码如下:

import matplotlib.pyplot as plt
import jieba
from wordcloud import WordCloud
import urllib.request 
import html2text
%matplotlib inline

#url = 'https://mp.weixin.qq.com/s/Pr04533M2chdA3pVA8idNA'
url = 'http://baijiahao.baidu.com/s?id=1645663163087703799&wfr=spider&for=pc'
page = urllib.request.urlopen(url)
contents = page.read().decode()
h = html2text.HTML2Text()
h.ignore_links=True # 去掉超链接
text = h.handle(contents)
text = text.replace(' ', '')
text = text.replace('*', '')
text = text.replace('\n', ' ')
cut_text = jieba.cut(text) # 分词
result = " ".join(cut_text)
print(result)
wc = WordCloud(
    font_path='simhei.ttf',
    background_color='white',
    width=1000,
    height=600,
    max_font_size=50,
    min_font_size=10,
    max_words=200,
    mask=plt.imread('star.jpg')  #mask图片
)
wc.generate(result)
wc.to_file('ciyun.png')  #图片保存
plt.imshow(wc) # 显示图片
plt.axis('off') #关闭坐标
plt.show()

读者替换网址后,重新运行即可生成词云图。其中的mask图片用于设置词云的形状,本例中使用了背景为白色,前景为黑色的图片star.jpg(注意使用jpg格式图片),效果如下图所示(左侧为mask,右侧为生成的词云图):

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值