逛吾爱破jie的时候,看到一个导出QQ聊天记录分析生成词云图的python玩法,就导出自己和女友的聊天记录试了一下,没想到在一起五年了,近两年说的最多的词竟然是 好吧
其实现原理就是在python中通过使用第三方库读取QQ导出的txt文本聊天记录内容进行分析生成词云,下面开始具体的说明教程:
第三方库
jieba库,优秀的 Python 第三方中文分词库。
代码语言:javascript复制pip install jieba
wordcloud库,优秀的词云展示第三方库。
代码语言:javascript复制pip install wordcloud
在安装wordcloud库时如果不起效果,请下载到本地进行安装
下载地址:https://www.lfd.uci.edu/~gohlke/pythonlibs/#wordcloud
选择与自己的电脑系统、python版本相对于的版本进行下载,比如我是win10,64位操作系统,python3.9那就下载 wordcloud‑1.8.1‑cp39‑cp39‑win_amd64.whl
并存放到一个目录(我的在D盘)
然后运行下面命令安装:
代码语言:javascript复制pip install D:/wordcloud‑1.8.1‑cp39‑cp39‑win_amd64.whl
消息导出
电脑登录QQ点击左下角三个杠,点击消息管理
选择要导出的对象,然后右击点击导出消息记录
保存类型选择txt格式
代码完成
首先且必须在python中引入相关的第三方库
代码语言:javascript复制import re
import jieba
import wordcloud
在消息记录中,会有一些频繁出现的信息,比如时间,昵称,备注,还有一些无法显示的如[表情],我们可以使用去特殊字符处理和正则来替换掉。
代码语言:javascript复制#去字符处理
def getText(text):#该函数用来替换文本中出现的特殊字符
txt = text
for ch in '!"#$%&()* ,-./:;<=>?@[\]^_‘{|}~,。、 :':
txt = txt.replace(ch, "") #将文本中特殊字符替换为空格
return txt
#去频繁信息
string = open(r'C:\Users\zeyi\Desktop\消息记录.txt','r',encoding='utf-8').read()
s = re.compile('2022. 押韵|2022. Glamour girl