【代码】QQ群最近聊天记录做成词云

通过itchat包处理微信数据后,作者尝试将QQ群聊天记录转化为词云。目前遇到的问题包括字符串清洗、大文件处理以及寻找类似的QQ接口。已经完成部分数据清洗,展示了初步的词云结果。
摘要由CSDN通过智能技术生成

有这个想法是因为看到了itchat包,做了微信签名词云,微信好友热图,然后就想着那么QQ不是也可以做吗,像QQ群成员地图热图腾讯已经有了,好吧我就把QQ聊天记录做一下,主要也是导出.txt很方便
只是有以下问题:
1.有很多垃圾字符,字符串清洗方案可以再完善;
2.大的群聊天记录内容是否需要多线程来处理大文件。。。。。
3.QQ有类似itchat的包或接口吗嘿嘿嘿

import re
import os
import jieba
from wordcloud import WordCloud, ImageColorGenerator
import numpy as np
import PIL.Image as Image
import matplotlib.pyplot as plt


# 导出聊天记录.txt
file_path = r'C:\Users\XPS-15\PycharmProjects\PythonProject\owners_group.txt'
with open(file_path, 'r', encoding='utf-8') as fp:
    # 读取到列表,方便操作
    lines = fp.readlines()

# 去掉群说明(分组,对象)
lines = lines[8:]

# 提取聊天内容文本到长字符串
lines_cp = []
for line in lines:
    # 去掉聊天标志项(日期,用户名,QQ号)
    if line.startswith('2018'):
        continue
    # 去掉聊天内容项中的非文本项(空行,链接,发表动态,分享图片,查看按钮,撤回消息,手机号。。。。)
    if line.startswith('http') \
            or line == '' \
            or '发表动态' in line or '分享图片' in line or '查看' in line \
            or '@' in line or '撤回了一条' in line\
            or line.startswith('1') and len(line) == 11:
        continue
    else:
        lines_cp.append(line)
raw_text = ''.join(lines_cp)

# 去掉图片,表情,空行,以及一系列表情元素:
# 方案一:使用表情元素列表,但是很可能会漏掉
replace_ls = ['[图片]', '[表情]', '\n', '[呲牙]', '[感谢]', '[愉快]', '[撇嘴]', '[切]', '[色色]',
              '[太美了]', '[好美]', '[口水]', '[发呆]', '[傻了]', '[得意]', '[好酷]', '[帅呆]',
              '[牛逼]', '[流泪]', '[伤心]', '[桑心]', '[闭嘴]', '[不说了]', '[说错话了]', '[抱拳]',
              '[哭了]', '[哭哭]', '[大哭]', '[哭死]', '[尴尬]', '[冷汗]', '[汗死]', '[生气]',
              '[发怒]', '[气死了]', '[不理你了]', '[调皮]', '[无聊]', '[^_-]', '[捣蛋]', '[古灵精怪]',
              '[淘气]', '[呲牙]', '[哈哈]', '[^_^]', '[呵呵]', '[呵:)]', '[难过]', '[伤了]',
              '[很伤]', '[想吐]', '[要吐]', '[吐了]', '[惊恐]', '[惊吓]', '[害怕]', '[怕怕]',
              '[惊呆啦]', '[吓死了]', '[好吓人]', '[流汗]', '[真汗]', '[好汗]', '[- -!]', '[郁闷]',
              '[无语]', '[好紧张]', '[偷笑]', '[嘻嘻]', '[;)]', '[暗喜]'
  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值