核心用法
本技能基于 Pyrogram/Telethon 双后端,通过 MTProto 协议直连 Telegram 服务器,实现频道内容抓取。主要命令包括:
tg-reader-check— 离线预检,验证凭证、会话文件及依赖完整性tg-reader info @channel— 获取频道元信息(订阅数、描述等)tg-reader fetch @channel --since 24h— 抓取指定时间窗口内的帖子tg-reader auth— 首次登录创建会话文件
高级特性:
- Read Unread 模式:自动追踪已读位置,实现增量更新,适合每日情报摘要
- 评论抓取:
--comments参数可获取讨论组回复(需频道开启评论) - 多频道批量:支持顺序抓取多个频道,自动延迟防触发风控
- 文件输出:
--output将结果写入 JSON 文件,节省 token 消耗
显著优点
1. 协议级直连:不依赖 Telegram Bot API,可访问任何公开/私有频道(用户已订阅前提下)
2. 双后端冗余:Pyrogram(默认)与 Telethon 可选,提升兼容性
3. 状态持久化:read_unread 模式自动维护读取进度,支持跨会话增量同步
4. 企业级诊断:tg-reader-check 提供结构化错误报告,便于自动化故障排查
5. Token 经济:--output 模式将大数据外置存储,避免长输出占用上下文窗口
潜在缺点与局限
| 局限 | 说明 |
|------|------|
| 会话环境绑定 | 会话文件与设备/IP 强关联,Docker 隔离环境可能触发 `AUTH_KEY_UNREGISTERED` |
| 评论非全量 | 仅抓取文本评论,图片/视频评论内容未解析;已读帖子的新增评论不会被追踪 |
| 媒体无 OCR | 图片/视频仅提取 caption,无视觉内容识别 |
| 风控敏感 | 高频抓取易触发 `flood_wait`,需手动配置延迟参数 |
| 用户名变更风险 | 频道改名会导致 `read_unread` 状态重置 |
适合人群
- 情报分析师:需要监控多源 Telegram 频道,生成日/周度舆情摘要
- 内容运营:追踪竞品频道动态,分析热门话题与传播数据
- 研究人员:采集社交媒体数据用于学术分析(需合规授权)
- 自动化工作流:结合 cron 实现定时无人值守抓取
常规风险
1. 凭证泄露风险:TG_API_HASH 与 ~/.tg-reader-session.session 具备完整账号控制权,需严格限制文件权限(chmod 600),禁止提交至版本控制
2. 账号封禁风险:异常高频请求可能触发 Telegram 风控,导致临时限制或永久封禁
3. 隐私合规风险:抓取私有频道或用户评论需确保具备合法访问权限,避免违反 GDPR/个人信息保护法
4. 会话失效风险:异地登录、Docker 环境切换可能导致会话失效,需预留重认证流程