Bootstrap

Python分析QQ群消息

1.安装相关库
wordcloud、imread、scipy等使用pip install命令行安装失败后,可以通过以下网站,查找对应的本地安装包,下载下来,再通过pip install xxx.whl命令行进行安装。
Python Extension Package for Windows
Imread
cp37表示python3.7,win32表示32位,win_amd64表示64位。先通过cmd输入python查询版本,再选择合适的安装包,解压到本地,使用pip安装。
2.保存QQ群消息到本地
消息管理
点开消息管理,选择需要的群消息,保存txt文件到本地。
3.编写python脚本
3.1使用jieba库分析整理群消息。

import jieba

newtext = []
# 打开E盘下的聊天记录文件qq.txt
for 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,ImageColorGenerator
import matplotlib.pyplot as plt
import 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的值。

;