TG-DataExporter 是一个自动化工具,用于批量导出 Telegram 客户端的聊天数据。该工具通过图像识别和模拟点击操作,实现了无需人工干预的自动化导出流程,特别适合需要批量处理多个 Telegram 账号数据的场景。
- 多客户端支持:批量处理多个 Telegram 客户端。
- 多语言适配:自动检测客户端界面语言(支持英语和俄语)。
- 数据导出:自动导出聊天记录、媒体文件和其他数据。
- 文件整理:自动将导出文件分类存储到指定目录。
- 日志与报告:详细的日志记录、错误处理,以及失败客户端的记录和报告。
-
Python 环境:需 Python 3.7 或更高版本。
-
依赖安装:
pip install -r requirements.txt
- 为每种支持的语言(英语、俄语)准备界面元素截图。
- 截图保存在 screenshots/{语言代码}/ 目录下。
- 必要截图文件:
- hamburger_menu.png(左上角三横线菜单按钮)
- settings_menu_item.png(设置选项)
- advanced_tab.png(高级选项卡)
- export_button.png(导出数据按钮)
- 其他详见 截图准备指南。
python TG-DataExporter.py
- 客户端根目录:包含多个 Telegram 客户端的目录。
- 导出目标目录:数据导出的目标路径。
程序将依次执行以下操作:
- 扫描并识别所有客户端。
- 逐个启动客户端并执行导出操作。
- 整理导出的数据至目标目录。
- 生成处理报告(report.txt 和 failed_exports.txt)。
程序需要以下截图文件(每种语言均需独立配置):
| 截图文件名 | 描述 |
|---|---|
| hamburger_menu.png | 左上角三横线菜单按钮(白底样式) |
| hamburger_menu_dark.png | 左上角三横线菜单按钮(黑底样式,可选) |
| settings_menu_item.png | 菜单中的设置选项 |
| advanced_tab.png | 设置页面的高级选项卡 |
| export_button.png | 高级设置中的导出数据按钮 |
| save_button.png | 导出设置页面的保存按钮 |
| export_settings_title.png | 导出设置窗口的标题 |
| show_my_data_button.png | 导出完成后出现的按钮 |
| close_button.png | 导出完成窗口的关闭按钮 |
| start_messaging_button.png | 未登录状态下的按钮 |
导出选项文字截图: 以下是需要勾选的导出选项的文字截图,每个选项都需要单独截图:
| 截图文件名 | 描述 |
|---|---|
| option_only_my_messages.png | "只导出我的消息"选项文字 |
| option_videos.png | "视频"选项文字 |
| option_voice_messages.png | "语音消息"选项文字 |
| option_video_messages.png | "视频消息"选项文字 |
| option_stickers.png | "贴纸"选项文字 |
| option_gifs.png | "GIF"选项文字 |
| option_files.png | "文件"选项文字 |
| option_both.png | "HTML和JSON格式"选项文字 |
截图要求:
- 仅包含目标元素,避免冗余内容。
- 使用与运行环境相同的屏幕分辨率。
- 按目录结构保存(如 screenshots/en/、screenshots/ru/)。
- 截图时确保只包含需要识别的元素,不要包含太多周围内容。
- 由于不同电脑分辨率不同,请在您自己的电脑上截取上述元素的图片。
- 🚫 程序运行时请勿操作鼠标和键盘。
- ⏳ 导出耗时较长,请耐心等待。
- 🔍 失败记录可通过 failed_exports.txt 查看。
若遇到识别问题,请尝试:
- 重新截取更清晰的界面元素图片。
- 调整代码中的 confidence 参数(默认值 0.6-0.8)。
- 查看日志文件 telegram_export.log 获取详细错误信息。
提示:建议在首次运行前,先手动完成一次导出流程以熟悉界面布局。