python 生成18年写过的博客词云

文章链接: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/

更多精彩欢迎关注微信号:春风十里不如认识你

一起学习,一起进步,欢迎上车,有问题随时联系,一起解决!!!

原文地址:https://www.cnblogs.com/taixiang/p/10262415.html

时间: 2024-10-13 15:38:15

python 生成18年写过的博客词云的相关文章

用 Flask 来写个轻博客 (27) — 使用 Flask-Cache 实现网页缓存加速

目录 目录 前文列表 扩展阅读 Flask-Cache 应用 Flask-Cache 实现视图函数缓存 缓存无参数的普通函数 缓存带参数的普通函数 缓存无动态参数的视图函数 缓存带动态参数的视图函数 前文列表 用 Flask 来写个轻博客 (1) - 创建项目 用 Flask 来写个轻博客 (2) - Hello World! 用 Flask 来写个轻博客 (3) - (M)VC_连接 MySQL 和 SQLAlchemy 用 Flask 来写个轻博客 (4) - (M)VC_创建数据模型和表

用 Flask 来写个轻博客 (8) — (M)VC_Alembic 管理数据库结构的升级和降级

目录 目录 前文列表 扩展阅读 Alembic 查看指令 manager db 的可用选项 初始化 DB Migrate 开始第一次跟踪 将记录文件应用到数据库中实时升级数据库结构 回滚到某一个记录环境中 前文列表 用 Flask 来写个轻博客 (1) - 创建项目 用 Flask 来写个轻博客 (2) - Hello World! 用 Flask 来写个轻博客 (3) - (M)VC_连接 MySQL 和 SQLAlchemy 用 Flask 来写个轻博客 (4) - (M)VC_创建数据模型

用 Flask 来写个轻博客 (7) — (M)VC_models 的关系(many to many)

目录 目录 前文列表 扩展阅读 前期准备 多对多 使用样例 一直在使用的 session 前文列表 用 Flask 来写个轻博客 (1) - 创建项目 用 Flask 来写个轻博客 (2) - Hello World! 用 Flask 来写个轻博客 (3) - (M)VC_连接 MySQL 和 SQLAlchemy 用 Flask 来写个轻博客 (4) - (M)VC_创建数据模型和表 用 Flask 来写个轻博客 (5) - (M)VC_SQLAlchemy 的 CRUD 详解 用 Flask

用 Flask 来写个轻博客 (6) — (M)VC_models 的关系(one to many)

目录 目录 前文列表 扩展阅读 前言 一对多 再一次 sync db How to use 前文列表 用 Flask 来写个轻博客 (1) - 创建项目 用 Flask 来写个轻博客 (2) - Hello World! 用 Flask 来写个轻博客 (3) - (M)VC_连接 MySQL 和 SQLAlchemy 用 Flask 来写个轻博客 (4) - (M)VC_创建数据模型和表 用 Flask 来写个轻博客 (5) - (M)VC_SQLAlchemy 的 CRUD 详解 扩展阅读 S

HTML+JS 写一个 个人博客

HTML+JS 写一个 个人博客(初学版) HTML+JS 写一个 个人博客(初学版) 自己琢磨了两三天,算是把HTML入门了吧,然后就想着用这点知识写一个个人主页,然后一下午的时间写完了. 先不看代码,说说思路: 第一步:就是构思,一个网页的展示怎么才好看?!!站在一个老男人的角度,那远远是不能的,,, 1.标题 2.菜单栏(加个超链接) 3.展示页面(图片轮播) 第二步:小标题展示页面. 第三步:代码实现.(说了一堆废话)  代码 Jscript实现图片轮播.(很简单,一看就懂) <scri

python海明距离 - 5IVI4I_I_60Y的日志 - 网易博客

python海明距离 - 5IVI4I_I_60Y的日志 - 网易博客 python海明距离 2009-10-01 09:50:41|  分类: Python |  标签: |举报 |字号大中小 订阅 def hammingDist(s1, s2):    assert len(s1) == len(s2)    return sum([ch1 != ch2 for ch1, ch2 in zip(s1, s2)])python海明距离 - 5IVI4I_I_60Y的日志 - 网易博客,布布扣,

Python一日一练102----创建简易博客(下)

继续改博客 接着上一篇继续改咱的博客. 母语不是英语肿么办,博客上面英语好多啊! 更改很简单. 你可以做一个快速更改来观察Django管理工具是否被翻译成你想要的语言. 仅需在settings.py添加'django.middleware.locale.LocaleMiddleware' 到MIDDLEWARE_CLASSES设置中,并确保它在'django.contrib.sessions.middleware.SessionMiddleware'之后就可以了. 建立博客的前台部分 创建模版

一个前端写的php博客系统--支持markdown哦

部署的地址 我的博客地址:http://www.weber.pub/ 起因 最近买了个新的域名,同时在阿里云申请了免费的虚拟主机...借此机会就想搞个自己的博客站点,虽然之前也使用了hexo + github . WordPress 做过,但是我的阿里云虚拟主机实在是不知道怎么去搞hexo (也许根本就搞不起来,除非自己花钱买主机,哈哈)...WordPress总是感觉好笨重,运行起来一股的人到中年,气喘吁吁啊...百度之后,typeecho成了首选,但是markdown竟然有问题...一口老血

[技术博客]阿里云签名机制字符串的C语言实现

[技术博客]阿里云签名机制字符串的C语言实现 问题描述见:阿里云签名机制 话不多说,上字符串函数转化函数代码 bool AlicloudRequest::sendV2Request() { if( query_parameters.find( "Action" ) == query_parameters.end() ) { this->errorCode = "E_INTERNAL"; this->errorMessage = "No acti