微信聊天记录词云分析

本文介绍了如何通过安卓模拟器获取微信聊天记录的加密数据,使用sqlcipher解码并筛选出特定对象的对话,最后进行词云分析。涉及到的步骤包括备份聊天记录、解码EnMicroMsg.db文件、筛选csv数据以及使用python进行词云制作。

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

步骤

- 获取对象聊天记录加密数据
- 解码
- 对csv数据进行筛选
-词云分析

获取微信聊天记录加密数据

安卓手机获取微信导出微信聊天记录需要先获取root权限,这个风险比较大,而且我这个手机比较小众,root很麻烦。今天看到一个直接下载安卓模拟器,在上面下载微信,导入聊天记录后,用RE文件管理器找到数据。这个方法更简单,并且不受手机系统的限制(不过苹果手机没有试过)。
1. 安装安卓模拟器
首先现在下载夜神模拟器,安装完毕打开root权限后,安装微信和RE文件管理器。
在这里插入图片描述
2. 聊天记录备份
在windows端登陆微信,把手机上的聊天记录备份到windows端。可以全部备份也可以选择对象的数据进行备份。
在这里插入图片描述
在模拟器上登陆微信,在windows端进行 恢复聊天记录到到手机。注意,此时最好只选择与对象的聊天记录进行恢复,这样之后不用在进行数据对象的筛选。
3. 利用RE文件管理器找到加密数据
给予RE文件管理器root权限。
打开RE文件管理器,进入/data/data/com.tencent.mm/MicroMsg,进入那个由数字和字母组合而成的文件夹(c3765b24523e7fb01257f1aa40ada472)
在这里插入图片描述
找到该文件夹下的EnMicroMsg.db文件
在这里插入图片描述
复制到模拟器的共享文件夹,共享文件夹的位置为 /mnt/shell/emulated/0/others 。之后访问windows下的 C:\Users\你的用户名\Nox_share\OtherShare 获取该数据库文件( EnMicroMsg.db )

解码

1. 下载sqlcipher.exe
(链接: https://pan.baidu.com/s/1Im3n02yseo-4IxeDY9srqQ 提取码: ka4z)
2. 获取IMEI和UIN进行解码
用sqlcipher.exe打开提取到的EnMicroMsg.db,需要利用IMEI和UIN进行MD5运算获取密钥。
在模拟器中获取IMEI号 如下图

在Python中,我们可以利用一些开源库如jieba(分工具)、wordcloud(生成库)以及Wechaty(微信机器人框架,用于获取聊天记录)来制作微信聊天记录图片。以下是简单的步骤: 1. **安装所需库**: - `pip install jieba`:用于中文文本的分 - `pip install wordcloud`:用于创建图 - 可能需要`wechaty`:https://github.com/wechaty/wechaty ,但注意这需要微信API权限,并且可能会有反爬策略,因此可能仅适用于模拟登录或授权后的私人聊天记录 2. **获取聊天记录**: - 使用Wechaty,通过监听消息事件并保存到文件或数据库中。如果直接操作微信聊天记录,则需遵守微信的使用协议。 3. **数据处理**: - 读取保存的聊天记录,提取文字内容。 - 使用jieba对文本进行分处理,得到一个个语。 4. **生成**: - 将分结果转换成频字典(dict),其中键是语,值是出现次数。 - 创建WordCloud对象,设置背景色、字体等样式。 - 调用`generate_from_frequencies()`函数,传入频字典,生成图像。 5. **显示和保存**: - 将生成的图像显示出来或者保存为图片文件(如.jpg或.png格式)。 示例代可能如下所示: ```python import jieba.analyse from wordcloud import WordCloud import wechaty # ... (这里省略实际的微信机器人初始化和消息监听部分) def process_message(msg): content = msg.text() words = jieba.lcut(content) # 对每个语计数 word_freq = {word: words.count(word) for word in words} # ... (此处继续处理频,然后生成) # ... (在这里添加的显示和保存代) # 循环监听微信消息 for contact in bot.contacts(): contact.messages().listen(process_message) # 关闭机器人 bot.stop() ```
评论 21
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值