任務
根據爬取到的微博內容概要,將其連接爲文本,利用既有代碼框架生成詞雲圖。
過程
提取轉發內容和原文內容
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