Huan0630

用Python来查询聊天记录

代码

import re

def Start(First_Date, Second_Date, First_Name, Second_Name):
    First = re.compile(f\'^{First_Date} .* {First_Name}$\')  # 个人聊天
    Second = re.compile(f\'^{Second_Date} .* {Second_Name}$\')  # 群内匹配
    First_Count = 0  # 个人聊天条数
    Second_Cound = 0  # 群内条数
    with open(First_Dic, \'r\', encoding=\'UTF-8\') as f:
        for i in f:
            p = re.match(First, i)
            if not p == None:
                First_Count += 1

    with open(Second_Dic, \'r\', encoding=\'UTF-8\') as f:
        for i in f:
            p = re.match(Second, i)
            if not p == None:
                Second_Cound += 1
    return First_Count, Second_Cound

First_Date = r\'2020-02-23\'#第一聊天记录:检查的日期
Second_Date = r\'2020-02-23\'#第二聊天记录:检查的日期
First_Name = r\'xxx\'#群内昵称(备注昵称)
Second_Name = r\'yyy\'#群内昵称(备注昵称)
First_Dic = r\'xxxx.txt\'#聊天记录的位置
Second_Dic = r\'xxxx.txt\'#聊天记录的位置

First_Count,Second_Cound = Start(First_Date,Second_Date,First_Name,Second_Name)
print(f\'聊天条数1:{First_Count}\')
print(f\'聊天条数2:{Second_Cound}\')

原理

QQ支持把聊天记录导出为.txt文件,使用正则表达式匹配聊天记录。

使用方法

1.导出聊天记录

打开电脑版QQ,面板左下角 设置> 安全设置> 消息记录> 消息管理器> 找到对象右键导出 .txt

2.修改程序

1)在程序变量First_Date和Second_Date中添加你需要查询的日期(允许正则表达式) First为第一个查询对象,Second为第二个查询对象,下同
2)在程序变量First_Name和Second_Name中添加你需要查询的对象的群昵称(可以查看.txt文件)旧记录中的群昵称随时间变化,比如一天前我的群昵称是aa,即便我现在改了,但是昨天的记录中我的昵称还是aa
3)在程序First_Dic和Second_Dic中添加第1.步导出的.txt文件地址
4)运行程序

项目Github链接

分类:

技术点:

相关文章: