利用python将微信聊天记录生成词云

本文介绍了如何通过Python将微信聊天记录导出并生成词云。首先使用iTunes备份微信聊天记录,然后借助楼月软件进行管理及导出。接着安装wordcloud和jieba库,下载中文字体文件和遮罩图片。最后编写代码,处理文本,去除停用词,生成词云图像。结果显示,词云能有效呈现聊天记录中的高频词汇。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

2019年过去了,想回顾一下在过去的一年里和好朋友都聊了些什么,于是打算把微信聊天记录生成一个词云。

1 导出微信聊天记录

1.1 用iTunes备份

点击立即备份将手机上的文件备份到电脑上

1.2 楼月免费iTunes备份管理器

在电脑上安装并运行楼月免费iTunes备份管理器,将备份数据中保存了微信聊天记录的Documents文件夹导出到电脑上。

1.3 楼月微信聊天记录导出恢复助手

在电脑上安装楼月微信聊天记录导出恢复助手,选择要导出的好友,复制全部的聊天记录,在电脑上新建一个TXT文本文件,粘贴进去。

楼月软件官方介绍
安装包在这里哦

2 准备工作

2.1 第三方库的安装

wordcloud包
将下载的文件放到一个文件夹下,安装命令是 pip install wordcloud‑1.4.1‑cp36‑cp36m‑win_amd64.whl
注意首先要进入到放置这个文件的目录下,比如输入 D:
如果需要生成中文的词云,还需要导入jieba分词的包。
jieba官方网站

2.2 素材

正式输入代码之前,我们还需要下载一份中文字体文件以及遮罩层图片。
中文字体文件
在这里插入图片描述
为了方便,我们将字体文件、遮罩层图片、文本文件都移动到我们的工作目录下。

3 编写代码

由于我们想要生成带有轮廓的词云,因此需要导入numpy包,它是python的一种开源的数值计算扩展,可用来存储和处理大型矩阵,处理的时候将图片表示为一个大型矩阵,在有颜色的地方进行填词。


                
Python中,生成一个人微信聊天记录图片通常需要几个步骤: 1. **数据获取**:首先,你需要从微信聊天记录中提取文本信息。这可能涉及到爬取微信文件、解析JSON格式的数据或者其他方法,取决于你的数据来源。 2. **数据清洗**:清理文本,去除无关字符(如表情、链接、特殊符号),只保留有意义的文字。 3. **分处理**:使用Python库如jieba进行中文分,将长句拆分成单个语。 4. **频率统计**:统计每个语在所有聊天记录中出现的次数,形成频字典。 5. **生成**:利用`wordcloud`这个Python库,将频字典作为输入,生成图。你可以调整的字体大小、颜色、形状等样式。 6. **保存图片**:最后,将生成图保存为图片文件,比如PNG或JPG格式。 以下是一个简单的示例代码框架: ```python import jieba.analyse from wordcloud import WordCloud import matplotlib.pyplot as plt # 假设你已经有一个包含聊天记录的列表texts texts = ... # 数据清洗和分 words = ' '.join(texts) word_list = jieba.lcut(words) # 统计频 freq_dist = dict() for word in word_list: freq_dist[word] = freq_dist.get(word, 0) + 1 # 生成 wc = WordCloud(font_path='simhei.ttf', background_color='white').generate_from_frequencies(freq_dist) # 显示并保存图 plt.imshow(wc, interpolation='bilinear') plt.axis('off') plt.savefig('chat_wordcloud.png') ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值