这篇文章主要介绍了如何使用Python导出并分析聊天记录,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
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导出并分析聊天记录”这篇文章对大家有帮助,同时也希望大家多多支持亿速云,关注亿速云行业资讯频道,更多相关知识等着你来学习!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。