QQ群导出某人消息记录至文本【python版】

快考试了,但是有的课没有教材也没有讲义,只有老师在群里的消息记录。

QQ群里导出消息记录,发现不能导出单独的联系人。

通常解决方法
方案一:手机端查找消息记录->联系人->长截图
方案二:电脑端设置->消息管理器->搜索

优化步骤12

1

  1. pc端导出聊天记录,文本格式(不可再导入的格式),导出文本格式如下:
消息记录(此消息记录为文本格式,不支持重新导入)

================================================================
消息分组:我的群聊
================================================================
消息对象:qq群名
================================================================

日期 联系人(QQ号):
聊天内容

日期 联系人(QQ号):
聊天内容

利用python的正则表达式提取日期和联系人就可以了

  • 提取日期+联系人+聊天内容
import re
import os

fileName = "你的文件名.txt"
result=[] # 原始消息列表
teacher=[] # 指定人消息列表
with open(fileName,"r+",encoding="utf-8") as f: 
    for line in f.readlines():
        result.append(line) # 先暂存列表

# 对列表进行过滤提取
# 日期 联系人(QQ号): 
# 指定为指定字符串,比如2020-(.*)?联系人(QQ号),防止消息记录中出现类似信息,
# 1. 以防万一可以在for循环中if条件加上result[i+2]=='\n‘,不用担心越界,越界可以直接检查末尾信息
# 2. 同时也可以增减日期字符提取指定时间记录
pattern = "2020-(.*)?XX\(12345678\)"
for i in range(0,len(result)):
	r = re.findall(pattern,result[i])
	if(len(r)!=0):
		teacher.append(result[i]+result[i+1])
		
# 保存一下消息记录
with open((os.path.join(("XX消息记录.txt"))), 'w',encoding="utf-8") as f:
    for j in range(0,len(teacher)):
        f.write(teacher[j])
        f.write('\n')

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值