1. 程式人生 > >python 生成18年寫過的博客詞雲

python 生成18年寫過的博客詞雲

爬蟲學習 show 技術 個人 png 現在 博客 andro imshow

文章鏈接:https://mp.weixin.qq.com/s/NmJjTEADV6zKdT--2DXq9Q

回看18年,最有成就的就是有了自己的 博客網站,堅持記錄,寫文章,累計寫了36篇了,從一開始的難以下手,到現在成為一種習慣,雖然每次寫都會一字一句斟酌,但是每次看到產出,內心還是開心的,享受這樣的過程。

這篇文章就是用python 生成自己寫的博客詞雲,平常寫的博客都是markdown 格式的,直接把文件傳到後臺,前端用js去解析文件顯示的,所以我這裏處理數據就不需要去爬蟲網站,直接讀文件處理的。

關於生成詞雲圖的,在另外兩篇文章中也有介紹過:
python itchat 爬取微信好友信息,生成詞雲
python爬蟲學習:爬蟲QQ說說並生成詞雲圖

markdown文件處理,遍歷文件夾,匹配md 後綴的文件,讀文件,這裏的root 是文件夾的絕對路徑。

import os
total = ""
file_list = os.listdir(root)
for file in file_list:
    //處理md文件
    if os.path.splitext(file)[1] == ".md":
        path = os.path.join(root,file)
        text = open(path, encoding=‘utf-8‘).read()
        //最終得到的字符串
        total = total + "\n" + text

得到所有的文本之後,使用結巴分詞 pip3 install jieba,處理成單個的詞語。

import jieba
wordlist = jieba.cut(total, cut_all=True)
wl = " ".join(wordlist)

因為平常寫的文章裏有很多的代碼,這裏可以正則只留下中文,然後再處理中文字符。

import re
rec = re.compile("[^\u4E00-\u9FA5]")
total = rec.sub("", total)
wordlist = jieba.cut(total, cut_all=True)
wl = " ".join(wordlist)

最後就是生成詞雲,采用WordCloud的庫

wc = WordCloud(
    # 設置背景顏色
    background_color="white",
    # 設置最大顯示的詞雲數
    max_words=1000,
    # 這種字體都在電腦字體中,window在C:\Windows\Fonts\下,mac下的是/System/Library/Fonts/PingFang.ttc 字體
    font_path=‘C:\\Windows\\Fonts\\STFANGSO.ttf‘,
    height=2000,
    width=2000,
    # 設置字體最大值
    max_font_size=250,
    # 設置有多少種隨機生成狀態,即有多少種配色方案
    random_state=30,
)
myword = wc.generate(wl)  # 生成詞雲
# 展示詞雲圖
plt.imshow(myword)
plt.axis("off")
wc.to_file(‘blog.png‘)  # 保存圖片
plt.ion()
plt.pause(5)
plt.close()  # 圖片顯示5s,之後關閉

最終的結果顯示圖,除去代碼之後,看這些詞,不少還是跟android相關的,也是平常經常會提到的詞匯。

技術分享圖片

歡迎關註我的個人博客:https://www.manjiexiang.cn/

更多精彩歡迎關註微信號:春風十裏不如認識你
一起學習,一起進步,歡迎上車,有問題隨時聯系,一起解決!!!

技術分享圖片

python 生成18年寫過的博客詞雲