有时候想分析分析QQ群消息,可以用python实现哦
1、安装相关库
2.保存QQ群消息到本地
点开消息管理,选择需要的群消息,保存txt文件到本地。
3.编写python脚本
3.1使用jieba库分析整理群消息。
import jieba
newtext = []# 打开E盘下的聊天记录文件qq.txtfor word in open('E:\\3\\qq.txt', 'r', encoding='utf-8'):
tmp = word[0:4]
if (tmp == "2020" or tmp == "===="or tmp == "2021"): # 过滤掉聊天记录的时间和qq名称
continue
tmp = word[0:2]
if (tmp[0] == '[' or tmp[0] == '/'or tmp[0] == '@'): # 过滤掉图片和表情,例如[图片],/滑稽
continue
newtext.append(word)# 将过滤掉图片和表情和时间信息和qq名称剩下的文字重新写入E盘下的q1.txt文件中去with open('E:\\3\\q1.txt', 'w', encoding='utf-8') as f:
for i in newtext:
f.write(i)
# 打开新生成的聊天记录文件
text = open('E:\\3\\q1.txt', 'r', encoding='utf-8').read()
word_jieba = jieba.cut(text, cut_all=True)
word_split = " ".join(word_jieba)
3.2绘出消息云图
from wordcloud import WordCloud,STOPWORDS,ImageColorGeneratorimport matplotlib.pyplot as pltimport imread
text = open('E:\\3\\q1.txt', 'r', encoding='utf-8').read() # 打开过滤好的txt文件print(text)
bg_pic = imread.imread('E:\\3\\sjt.jpg') # 导入词云背景
wordcloud = WordCloud(mask=bg_pic, background_color='white', scale=1.5, font_path='C:/Windows/Fonts/simhei.ttf', width=1000,height=600,stopwords={'表情','糊脸','拍桌','拍头'},min_font_size=10,max_font_size=36,font_step=4,).generate(text) # 定义词云的各种变量,可以控制词云的形式,这里的控制变量可以去网上查找,stopwords={'表情','糊脸','拍桌','拍头''是为了过滤掉里面的部分表情信息
image_colors = ImageColorGenerator(bg_pic)
plt.imshow(wordcloud)
plt.axis('off')
plt.show()
wordcloud.to_file('E:\\3\\text.jpg') # 输出词云
在运行代码时,发生错误,1是安装好了库文件,但是pycharm中并没有更新,需要打开setting设置python版本。2是moudle未正确导入,由于import moudle 和form moudle import *导入方式不同,两者在调用变量时,前者需要使用module.变量名,且会改变原moudle里的值,而后者是创建了新的变量,直接使用变量名即可,不会改变原moudle的值
希望对你有用,也可以和我一起学习,嘻嘻http://www.daimaketang.com/register?inviteCode=XPGQQ