用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链接

用Python来查询聊天记录的更多相关文章

  1. Python模糊查询本地文件夹去除文件后缀(7行代码)

    Python模糊查询本地文件夹去除文件后缀 import os,re def fuzzy_search(path): word= input('请输入要查询的内容:') for filename in ...

  2. python 数据库查询条件`不等于`

    1.python 数据库查询条件不等于 当在做数据库查询的时候,想根据业务需求进行条件的筛选或过滤, 但是django封装的数据库语句中没有 '不等于' 查询操作. 2.例如:通过以下语句进行'不等于 ...

  3. python代码查询港澳通行证办理进度

    查询港澳通行证办理进度查询的python 3.3代码.利用socket请求相关网站,获得结果后利用正则找出办理进度.其实用urllib代码会更简洁,不过当时在下还不熟悉urllib~ 直接上代码: i ...

  4. python dns查询与DNS传输漏洞查询

    前言: 昨天晚上在看DNS协议,然后想到了 DNS传输漏洞.便想写一个DNS查询与DNS传输漏洞查询 DNS传输漏洞介绍: DNS传输漏洞:若DNS服务器配置不当,可能导致匿名用户获取某个域的所有记录 ...

  5. Python如何查询Mysql

    Python查询Mysql使用 fetchone() 方法获取单条数据, 使用fetchall() 方法获取多条数据. fetchone(): 该方法获取下一个查询结果集.结果集是一个对象 fetch ...

  6. python django查询12306火车票

    逢年过节,想坐个高铁票,都得上12306去买票,但用过的都会发现,它会把临近站点的也筛出来了.但有时我们压根就不会考虑买到临近站点的. 另一方面,在购票高峰期,有可能你要的出发站到目的站都没有票了,这 ...

  7. 使用python制作查询火车票工具

    使用python脚本实现查询火车票信息的效果图如下: 实现的代码: # coding: utf-8 """命令行火车票查看器 Usage: tickets [-gdtkz ...

  8. python数据库查询转dataframe

    1. 场景描述 python环境下需要从greenplum/postgresql中,获取算法执行的数据,但是从数据库中查询出来是数组格式的,算法无法使用,需要转换为dataframe格式. 2. 解决 ...

  9. 谁说程序员不浪漫?Python导出微信聊天记录生成爱的词云图

    明天又双叒叕是一年一度的七夕恋爱节了! 又是一波绝好的机会!恩爱秀起来! 购物车清空!礼物送起来!朋友圈晒起来!   等等! 什么?! 你还没准备好七夕礼物么? 但其实你不知道要送啥? 原来又双叒叕要 ...

  10. python - ORM 查询

    1. 正常查询: ## 效率低,因为每次查询都是查询表和关联表的所有数据 ret = User.objects.all() for item in ret: print(item.name,item. ...

随机推荐

  1. 【Python爬虫实战】爬虫封你ip就不会了?ip代理池安排上

    前言 在进行网络爬取时,使用代理是经常遇到的问题.由于某些网站的限制,我们可能会被封禁或者频繁访问时会遇到访问速度变慢等问题.因此,我们需要使用代理池来避免这些问题.本文将为大家介绍如何使用IP代理池 ...

  2. Vue2系列(lqz)——Vue介绍

    文章目录 Vue入门 零:前端目前形势 前端的发展史 一:Vue介绍 和 基本使用 1.Vue介绍 渐进式框架 网站 2.Vue特点 易用 灵活 高效 3.M-V-VM思想 ① MVVM介绍 ② MV ...

  3. 9. 用Rust手把手编写一个wmproxy(代理,内网穿透等), HTTP2改造篇之HPACK示例, 了解http2头信息如何处理

    9. 用Rust手把手编写一个wmproxy(代理,内网穿透等), HTTP2改造篇之HPACK示例, 了解http2头信息如何处理 项目 ++wmproxy++ gite: https://gite ...

  4. python-手机自动化环境部署

    关于ui-automator,google的官方介绍: https://developer.android.google.cn/training/testing/ui-automator https: ...

  5. 14.8 Socket 一收一发通信

    通常情况下我们在编写套接字通信程序时都会实现一收一发的通信模式,当客户端发送数据到服务端后,我们希望服务端处理请求后同样返回给我们一个状态值,并以此判断我们的请求是否被执行成功了,另外增加收发同步有助 ...

  6. Subtree 题解

    Subtree 题目大意 给定一颗树,你可以选出一些节点,你需要对于每个点求出在强制选这个点的情况下所有选择的点联通的方案数,对给定模数取模. 思路分析 对于这种求树上每一个点方案数的题目,首先考虑换 ...

  7. 火山引擎 ByteHouse:只需 2 个方法,增强 ClickHouse 数据导入能力

    更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 作为企业数字化建设的必备要素,易用的数据引擎能帮助企业提升数据使用效率,更好提升数据应用价值,夯实数字化建设基础. ...

  8. HTML DOM 之一:访问、修改、删除HTML内容

    什么是 DOM? DOM 是 W3C(万维网联盟)的标准. DOM 定义了访问 HTML 和 XML 文档的标准: "W3C 文档对象模型 (DOM) 是中立于平台和语言的接口,它允许程序和 ...

  9. 聊聊如何在Java应用中发送短信

    很多业务场景里,我们都需要发送短信,比如登陆验证码.告警.营销通知.节日祝福等等. 这篇文章,我们聊聊 Java 应用中如何优雅的发送短信. 1 客户端/服务端两种模式 Java 应用中发送短信通常需 ...

  10. 一篇文章带你了解Python基础测试工具——UnitTest

    一篇文章带你了解Python基础测试工具--UnitTest 测试人员一般使用Python作为主语言脚本来进行自动化开发,而Python自带的UnitTest脚本通常就是测试人员首先掌握的 那么本篇文 ...