Python实战:导出QQ聊天记录生成词云看看你和你的女朋友聊了什么

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

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

Python实战:导出QQ聊天记录生成词云看看你和你的女朋友聊了什么

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

干货主要有:

① 200 多本 Python 电子书(和经典的书籍)应该有

② Python标准库资料(最全中文版)

③ 项目源码(四五十个有趣且可靠的练手项目及源码)

④ Python基础入门、爬虫、网络开发、大数据分析方面的视频(适合小白学习)

⑤ Python学习路线图(告别不入流的学习)
私信小编01即可获取大量Python学习资源

Python实战:导出QQ聊天记录生成词云看看你和你的女朋友聊了什么

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

Python实战:导出QQ聊天记录生成词云看看你和你的女朋友聊了什么

string = open(r'C:Usersl1768Desktop消息记录.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.最终生成的结果:

Python实战:导出QQ聊天记录生成词云看看你和你的女朋友聊了什么

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:Usersl1768Desktop消息记录.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")#最后生成词云的图片

版权声明:本文内容由互联网用户投稿发布,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2211788188@qq.com 举报,一经查实,本站将立刻删除。如需转载请注明出处:https://www.wptmall.com/a/article/18371

为您推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注