生成微博內容詞雲圖

任務

根據爬取到的微博內容概要,將其連接爲文本,利用既有代碼框架生成詞雲圖。

過程

提取轉發內容和原文內容

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章