共计 1464 个字符,预计需要花费 4 分钟才能阅读完成。
文章链接:https://mp.weixin.qq.com/s/NmJjTEADV6zKdT–2DXq9Q
回看 18 年,最有成就的就是有了自己的 博客网站,坚持记录,写文章,累计写了 36 篇了,从一开始的难以下手,到现在成为一种习惯,虽然每次写都会一字一句斟酌,但是每次看到产出,内心还是开心的,享受这样的过程。
这篇文章就是用 python 生成自己写的博客词云,平常写的博客都是 markdown 格式的,直接把文件传到后台,前端用 js 去解析文件显示的,所以我这里处理数据就不需要去爬虫网站,直接读文件处理的。
关于生成词云图的,在另外两篇文章中也有介绍过:(https://mp.weixin.qq.com/s/4E… 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/
更多精彩欢迎关注微信号:春风十里不如认识你 一起学习,一起进步,欢迎上车,有问题随时联系,一起解决!!!