python 生成18年寫過的博客詞雲
阿新 • • 發佈:2019-01-13
爬蟲學習 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年寫過的博客詞雲