一种将电报数据(用户、聊天、信息和媒体)下载到数据库中(并显示保存的数据)的工具。
telegram-export的Python项目详细描述
电报导出
下载电报数据(用户、聊天、信息和媒体)的工具 进入数据库(并显示保存的数据)。
数据库架构:
安装
最简单的方法是运行sudo pip3 install --upgrade telegram_export, 在这之后,电报导出应该可以作为命令使用:telegram-export 在终点站。就这样!
如果不喜欢使用sudo pip,可以使用pip3 install --user telegram_export, 但是您必须在$path中添加类似~/.local/bin/的内容才能获得 可用的命令。如果不想添加到路径,也可以使用 python3 -m telegram_export任何地方,而不是telegram-export。你会的 如果你用的是virtualenv也有类似的问题,但是如果你用的是 你可能知道你在做什么:)
下载速度慢?
您也可以使用相同的方法安装cryptg,以提高速度 下载媒体时增强。电报需要大量加密 解密,这会使下载文件特别慢,除非 使用像cryptg这样的快速库。一个用户报告了一个speed increase of 1100%。
用法
首先,将config.ini.example(从github)复制到~/.config/telegram-export/config.ini 编辑一些值。您可能需要创建此文件夹。写你的 配置白名单,您可能需要引用 telegram-export--list-dialogs获取对话框ID或 telegram-export--search <query>以筛选结果。
然后运行telegram-export并允许它转储数据。
完整选项列表:
usage: __main__.py [-h] [--list-dialogs] [--search-dialogs SEARCH_STRING] [--config-file CONFIG_FILE] [--contexts CONTEXTS] [--format {text,html}] [--download-past-media] Download Telegram data (users, chats, messages, and media) into a database (and display the saved data) optional arguments: -h, --help show this help message and exit --list-dialogs list dialogs and exit --search-dialogs SEARCH_STRING like --list-dialogs but searches for a dialog by name/username/phone --config-file CONFIG_FILE specify a config file. Default config.ini --contexts CONTEXTS list of contexts to act on eg --contexts=12345, @username (see example config whitelist for full rules). Overrides whitelist/blacklist. --format {text,html} formats the dumped messages with the specified formatter and exits. --download-past-media download past media instead of dumping new data (files that were seen before but not downloaded).
电报导出vstelegram-history-dump
(For brevity we’ll just refer them to as “export” and “dump”)
- sqlite而不是jsonline允许更强大的查询和 效率更高,但与文本操作unix不兼容 作为数据的工具不是作为文本存储的(或者更强大的工具 就像jq)。
- export的存储数据比dump的json转储要简单得多
- 支持保存个人或其他对话框的历史记录,因此 可以看到他们的名字。
- 使用telethon 而不是tg-cli允许 支持新的电报功能,如固定消息、管理日志, 用户bios,一流的超级组支持,避免了 tg-cli使转储通道不可能的错误,以及 其他一些烦恼(比如 安装)。
- 比dump更新且不太成熟
- 还没有专门的分析程序(dump有电报分析和 活塞)
- 实现了转储不支持的功能(不完整列表):
- 管理日志
- 将用户/频道/聊天作为自己的实体转储,而不仅仅是 消息元数据。这允许用户bios、通道 描述和个人资料图片。
- 固定消息(dump类型支持此功能,但仅通过保存 用文本“pinned the”回复固定邮件的邮件 信息“)
- 参与者列表
- 理论上,与telegram api的更紧密的交互允许 速度改进(Times Soon™的实际比较)
- 导出的数据库文件绑定到用户(如dump),并且 程序将退出,如果你登录作为另一个人,以避免混合 一切顺利。如果对多个用户使用导出,则应 为每个用户指定不同的数据库。您可以轻松选择 通过--config-file的不同配置文件。
限制
- 仍在努力。它会丢弃一些东西,但是模式可能会改变,我们 不支持旧架构转换。
- 依赖于telethon<;https://github.com/lonamiwebs/telethon>;,它仍然是1.0之前的版本。
- 为了简单起见,某些信息不会被丢弃。例如, 编辑的邮件将不会被重新下载,并且当前没有 在数据库中支持消息的多个版本。然而,这 应该不是什么大问题,因为大多数编辑或删除都是 合法的,并且经常修正错误。
它使用Telegram API(Telegram应用程序使用的是什么),因此它可以访问 电报应用程序能做的一切。这就是为什么您需要一个api id和api 散列来使用它,以及为什么来自telegram桌面的一个可以工作。自从 普通客户端需要下载消息、媒体、用户等来显示 在应用程序中,电报导出也可以这样做,并将它们保存到 数据库。
所以不,它不是真正的机器人,但它使用的技术和 userbots以便工作。据我们所知,它不会禁止你 用电报之类的。
从源安装
git clone此存储库,然后python3 setup.py install。你应该 同时阅读Installation部分以获取相关注释。