python 生成18年写过的博客词云
程序员文章站
2022-08-13 18:56:22
文章链接: "https://mp.weixin.qq.com/s/NmJjTEADV6zKdT 2DXq9Q" 回看18年,最有成就的就是有了自己的 "博客网站" ,坚持记录,写文章,累计写了36篇了,从一开始的难以下手,到现在成为一种习惯,虽然每次写都会一字一句斟酌,但是每次看到产出,内心还是开 ......
回看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相关的,也是平常经常会提到的词汇。
欢迎关注我的个人博客:
更多精彩欢迎关注微信号:春风十里不如认识你
一起学习,一起进步,欢迎上车,有问题随时联系,一起解决!!!
上一篇: 五一去哪玩 加速乐助威百度杯全国网络安全技术对抗决赛
下一篇: 网站原创内容的三种实现方法小结