分析了与女友近两年的聊天记录,没想到聊的最多的竟然是...

2022-10-26 17:17:47 浏览数 (4)

逛吾爱破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 


	

0 人点赞