用Python分析QQ群消息

有时候想分析分析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

你可能感兴趣的:(用Python分析QQ群消息)