Skip to main content

A tool to extract QQ chat history.

Project description

QQ 聊天记录提取器

简介

从 QQ 聊天记录文件中提取聊天信息,仅支持 txt 格式的聊天记录。

安装

使用 pip 安装,要求 Python 3.9 或以上版本。

> pip install -U qq-chat-history

使用

最简单的启动方式如下,它会自动在当前目录下创建 output.json 进行输出(如果安装到虚拟环境请确保已激活)。

> qq-chat-history /path/to/file.txt

启动时输入 --help 参数查看更多配置项。

> qq-chat-history --help

或者,可以作为一个第三方库使用,如下:

import qq_chat_history

lines = '''
=========
假装我是 QQ 自动生成的文件头
=========

1883-03-07 11:22:33 A<someone@example.com>
Text A1
Text A2

1883-03-07 12:34:56 B(123123)
Text B

1883-03-07 13:24:36 C(456456)
Text C

1883-03-07 22:00:51 A<someone@example.com>
Text D
'''.strip().splitlines()

# 这里的 lines 也可以是文件对象或者以字符串或者 Path 对象表示的文件路径。
for msg in qq_chat_history.parse(lines):
    print(msg.date, msg.id, msg.name, msg.content)

注意 parse 方法返回的是一个 Body 对象,一般以 Iterable[Message] 的形式使用。当然 Body 也提供了几个函数,虽然一般也没什么用

Tips

  • 如果当作一个第三方库来用,例如 find_xxx 方法,可以从数据中查找指定 idname 的消息;save 方法可以将数据以 yamljson 格式保存到文件中,虽然这个工作一般都直接以 CLI 模式启动来完成。

  • 函数 parse 可以处理多样的类型。

    • Iterable[str]:迭代每行的可迭代对象,如 listtuple 等。
    • TextIOBase:文本文件对象,如用 open 打开的文本文件,或者 io.StringIO 都属于文本文件对象。
    • str, Path:文件路径,如 ./data.txt

    这些参数都将以对应的方法来构造 Body 对象。

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

qq_chat_history-1.1.7.tar.gz (6.0 kB view hashes)

Uploaded Source

Built Distribution

qq_chat_history-1.1.7-py3-none-any.whl (6.7 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page