生成微博内容词云图

任务

根据爬取到的微博内容概要,将其连接为文本,利用既有代码框架生成词云图。

过程

提取转发内容和原文内容

choice='转发'#'原文'#
txt=''
for text in  (dataDict[choice+'text']):
    txt +=text

利用jieba分词并导入wordcloud绘制图像

import jieba
import numpy as np
import wordcloud
from PIL import Image
import os

#图片保存地址
savePath='词云/'
if os.path.exists(savePath) is False:
    os.mkdir(savePath)
    
#导入文本数据,可通过文件导入,如:
#fc = open("threekingdoms.txt", "r", encoding='utf-8')
#fc=fc.read()
fc=txt

#jieba分词
words=jieba.lcut(fc)

article=' '.join(words)

#mask = np.array(Image.open("huakegatemask.jpg"))

c = wordcloud.WordCloud( \
       #mask=mask,
    width = 1000, height = 700,\
    background_color = "white",
    font_path = "msyh.ttc"    
    )
c.generate(article)
c.to_file(savePath+choice+'词云图.png')

生成图例

图例

提供mask词云图

可以提供mask使图片拥有轮廓。在网上搜索与 关键词相关的图片。由于mask的作用根据对比度,因此黑白图片可直接应用。
制作用图
效果如下:
在这里插入图片描述
当然,想要有代表性的形状图像,可能网上没有可以直接应用的图片。比如想用这张:
原图
但直接使用生成并无效果,但在我之前的灵机一动后,将其解决。没有ps技巧,通过微软的图片编辑工具,将背景置换为白色:
处理图片
最终的效果图:
在这里插入图片描述

写在后面

这个是最初学习python的一个应用,不得不感慨python的强大,在不求甚解的调用后,就可以完成自己需要的工作,趣味十足。
真的是:

                    人生苦短,我学python

发布了39 篇原创文章 · 获赞 3 · 访问量 4660

猜你喜欢

转载自blog.csdn.net/cascara/article/details/104159531