Python导出并分析聊天记录详解流程

 更新时间:2022年02月17日 15:19:44   作者:落伍的码农  
这篇文章主要介绍了Python将QQ聊天记录生成词云的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

导出聊天记录生成词云看看你和对象聊了什么(可惜我没女朋友)

1.导出聊天记录打开消息管理器

导出的格式选择txt格式(我这里选择导出的路径是桌面所以在桌面上生成了一个包含聊天记录的.txt文件)

2.编写代码图中框出来的文本是我们不需要的(比如说图片会在这里面显示为[图片]表情显示为[表情]) 所以我们把它替换掉,我这里用到了正则:

string = open(r'C:\\Users\\l1768\\Desktop\\消息记录.txt','r',encoding='utf-8').read()
s = re.compile('2020.+洋仔|2020.+✎﹏ℳ๓ 大大大威锅丶|表情|图片|2019.+洋仔|2019.+✎﹏ℳ๓ 大大大威锅丶|撤回了一条消息|系统消息')#编写正则表达式
message = re.sub(s,'',string)#替换对应的字符串为空字符串

然后我们把经过处理的文本再进行去除特殊字符处理

def getText(text):#该函数用来替换文本中出现的特殊字符
txt = text
for ch in '!"#$%&()*+,-./:;<=>?@[\\]^_‘{|}~,。、 :':
txt = txt.replace(ch, "")   #将文本中特殊字符替换为空格
return txt
message = getText(message)

使用jieba分词并生成词云

split_message = jieba.lcut(message)
wordcloud_txt = ' '.join(split_message)
w=wordcloud.WordCloud(background_color="white", 
font_path='./fonts/simhei.ttf',
width=1600,height=800,
max_words=2000)#设置生成词云的参数,background_color指定图片背景颜色,
#font_path设置中文字体,要不然中文会显示不出来
#width=1600,height=800分别指定图片的宽度像素和高度像素,
#max_words指定生成词云的词最大是两千词
#还有很多可选参数,大家可以自行百度
w.generate(wordcloud_txt)#向词云传递文本
w.to_file("聊天记录词云.png")#最后生成词云的图片

3.最终生成的结果:

4.完整代码:

import re
import jieba
import wordcloud
def getText(text):#该函数用来替换文本中出现的特殊字符
txt = text
for ch in '!"#$%&()*+,-./:;<=>?@[\]^_‘{|}~,。、 :':
txt = txt.replace(ch, "") #将文本中特殊字符替换为空格
return txt
string = open(r'C:\Users\l1768\Desktop\消息记录.txt','r',encoding='utf-8').read()
s = re.compile('2020.+洋仔|2020.+✎﹏ℳ๓ 大大大威锅丶|表情|图片|2019.+洋仔|2019.+✎﹏ℳ๓ 大大大威锅丶|撤回了一条消息|系统消息')
message = re.sub(s,'',string)
message = getText(message)
split_message = jieba.lcut(message)
wordcloud_txt = ' '.join(split_message)
w=wordcloud.WordCloud(background_color="white", font_path='./fonts/simhei.ttf',width=1600,height=800,max_words=2000)#设置生成词云的参数
w.generate(wordcloud_txt)#向词云传递文本
w.to_file("聊天记录词云.png")#最后生成词云的图片

到此这篇关于Python导出并分析聊天记录详解流程的文章就介绍到这了,更多相关Python 分析聊天记录内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 基于Python开发一个文件快速搜索工具

    基于Python开发一个文件快速搜索工具

    这篇文章主要为大家详细介绍了如何基于Python开发一个文件快速搜索工具,可以实现多条件文件搜索并实时搜索状态反馈,需要的可以参考一下
    2025-03-03
  • 用python读取xlsx文件

    用python读取xlsx文件

    这篇文章主要介绍了用python读取xlsx文件的方法,帮助大家更好的利用python处理excel文件,感兴趣的朋友可以了解下
    2020-12-12
  • Python中time模块与datetime模块在使用中的不同之处

    Python中time模块与datetime模块在使用中的不同之处

    这篇文章主要介绍了Python中time模块与datetime模块在使用中的不同之处,是Python入门学习中的基础知识,需要的朋友可以参考下
    2015-11-11
  • python高效过滤出文件夹下指定文件名结尾的文件实例

    python高效过滤出文件夹下指定文件名结尾的文件实例

    今天小编就为大家分享一篇python高效过滤出文件夹下指定文件名结尾的文件实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-10-10
  • Pandas中Series和DataFrame的索引实现

    Pandas中Series和DataFrame的索引实现

    这篇文章主要介绍了Pandas中Series和DataFrame的索引实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-06-06
  • 基于Python绘制520表白代码

    基于Python绘制520表白代码

    这周五就是520,大家都准备好送给女朋友的礼物了吗?快来利用Python编写个表白代码送给她吧!文中示例代码讲解详细,跟随小编一起动手试一试吧
    2022-05-05
  • pytorch 实现张量tensor,图片,CPU,GPU,数组等的转换

    pytorch 实现张量tensor,图片,CPU,GPU,数组等的转换

    今天小编就为大家分享一篇pytorch 实现张量tensor,图片,CPU,GPU,数组等的转换,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-01-01
  • Python的Lambda函数用法详解

    Python的Lambda函数用法详解

    在Python中有两种函数,一种是def定义的函数,另一种是lambda函数,也就是大家常说的匿名函数。这篇文章主要介绍了Python的Lambda函数用法,需要的朋友可以参考下
    2019-09-09
  • Python使用unicodedata实现字符串标准化

    Python使用unicodedata实现字符串标准化

    这篇文章主要来和大家聊一聊 Python 的一个内置模块:unicodedata,它是专门用来处理 unicode 字符串的,下面就一起来看看它的用法吧
    2023-06-06
  • Python Tornado框架轻松写一个Web应用的全过程

    Python Tornado框架轻松写一个Web应用的全过程

    Tornado全称Tornado Web Server,是一个用Python语言写成的Web服务器兼Web应用框架,Tornado走的是少而精的方向,注重的是性能优越,它最出名的是异步非阻塞的服务器方式,这篇文章主要给大家介绍了关于Python Tornado框架轻松写一个Web应用的相关资料,需要的朋友可以参考下
    2021-08-08

最新评论