基础步骤参照:微信聊天记录词云分析_LittleAshes的博客-CSDN博客_sqlcipher.exe
和Python 情人节超强技能 导出微信聊天记录生成词云-Python 实用宝典
(前排提醒:需要配置好python环境,可与备份聊天记录同步操作节省时间)
操作时遇到的问题:
1、使用博客中版本夜神模拟器,64位模拟器解析失败,微信安装进度卡住
解决方法1:导入外部apk安装
去官网下载微信安卓版安装包
使用添加apk的方式进行安装(直接看附件)
夜神模拟器解决apk无法安装的问题_FLy_鹏程万里的博客-CSDN博客_夜神模拟器安装apk失败
解决方法2:下载夜神安卓模拟器64位 V7.0.2.1 最新免费版
2、使用夜神自带浏览器找不到原blog中的RE文件管理器,下载其他安装包都有损或打不开,添加apk的方式也无法打开
解决方法依旧是 下载RE文件管理器免root破解版下载-RE文件管理器去广告版 v4.9.6-当快软件园
初次安装会弹出请求root权限,选择永久记住选择,点击“允许”。
点击“挂载为可读写”。
共享文件位置不一定相同,看到文件名差不多的就进去找找
字符串是:1234567890ABCDEF+uin
密码是:字符串MD5加密后32小写前7位
message数据库大概在这个位置
导出的csv文件命名为“chat_logs.csv”(或者其他名字,但是要在代码对应地方修改)
3、PC端恢复聊天记录到手机那步需要在同一网络下进行
第一次连接可能不成功,多试几次
4、最终聊天记录想要什么形状就保存一张什么形状的图片到同一目录文件夹(如:云朵),形成遮罩
5、词云出现重复,在font_path后赠加collocations=False
wordcloud 词云 关键字重复多次 - SegmentFault 思否
完整代码
筛选聊天记录内容出来的代码
import pandas
import csv, sqlite3
conn= sqlite3.connect('chat_log.db')
# 新建数据库为 chat_log.db
df = pandas.read_csv('chat_logs.csv', sep=",")
# 读取我们上一步提取出来的csv文件,这里chat_logs要改成你自己的文件名
df.to_sql('my_chat', conn, if_exists='append', index=False)
# 存入my_chat表中
conn = sqlite3.connect('chat_log.db')
# 连接数据库
cursor = conn.cursor()
# 获得游标
cursor.execute('select content from my_chat where length(content)<35')
# 将content长度限定35以下,因为content中有时候会有微信发过来的东西
value=cursor.fetchall()
# fetchall返回筛选结果
data=open("聊天记录.txt",'w+',encoding='utf-8')
for i in value:
data.write(i[0]+'\n')
# 将筛选结果写入 聊天记录.txt
data.close()
cursor.close()
conn.close()
# 关闭连接
生成词云的代码
import jieba
import wordcloud
#from scipy.misc import imread
from imageio import imread
mask = imread("云朵.png")
f = open("聊天记录.txt", "r", encoding="utf-8")
t = f.read()
f.close()
ls = jieba.lcut(t) #对文本内容进行分词
txt = " ".join(ls) #用空格分隔
w = wordcloud.WordCloud( font_path = "D:\SUE\Documents\VS Code\msyh.ttc",collocations=False,mask = mask,\
width = 1000, height = 700, background_color = "white", \
)
w.generate(txt)
w.to_file("聊天记录.png")
最终成果展示: