Onchallange/telegram-scraper-osint
GitHub: Onchallange/telegram-scraper-osint
一款用于抓取公开 Telegram 频道并下载媒体与元数据的 Python 工具,解决离线分析需求。
Stars: 0 | Forks: 0
# Telegram 频道抓取工具
一个用于抓取公开 Telegram 频道内容的工具,可下载所有消息、媒体文件和频道元数据,以便离线查看和分析。
## 功能
- 抓取完整的公开频道内容
- 下载所有带时间戳和查看次数的消息
- 本地保存图片和视频缩略图
- 提取频道元数据(订阅者数量、媒体数量等)
- 检测频道创建日期
- 根据消息语言估算频道来源
- 生成 HTML 报告供离线查看
- 支持单个频道或批量处理
- 支持代理以规避频率限制
## 安装
```
git clone https://github.com/Onchallange/telegram-scraper-osint
cd telegram-scraper-osint
pip install -r requirements.txt
```
## 使用方法
### 抓取单个频道:
```
python3 main.py -c name -m 100
```
### 从文件批量抓取多个频道
创建一个名为 `groups.txt` 的文件,每行包含一个频道:
```
telegram
etcetc name
```
然后运行:
```
python3 main.py -t groups.txt -m 200
```
## 命令行选项
| 选项 | 缩写 | 描述 |
|------|------|------|
| `--channel` | `-c` | 单个频道用户名(不带 @) |
| `--targets` | `-t` | 包含频道列表的文件 |
| `--max` | `-m` | 最大抓取消息数 |
| `--delay` | `-d` | 请求之间的延迟(秒) |
| `--proxy` | `-p` | 请求使用的代理文件 |
| `--output` | `-o` | 自定义输出文件夹名称 |
## 使用代理
创建一个 `proxies.txt` 文件,每行包含一个代理:
```
0.1.2.3:8080
1.2.3.4:3128:username:pwd
```
然后运行以启用代理支持:
```
python3 main.py -c name -p proxies.txt
```
## 要求
- Python 3.7 或更高版本
- curl_cffi(用于浏览器指纹模拟)
- BeautifulSoup4(用于 HTML 解析)
- langdetect(用于语言分析)
## 频率限制
Telegram 可能会临时屏蔽发送过多请求的 IP 地址。
该工具包含以下功能:
- 可配置的请求间延迟
- 对频率限制响应自动重试
- 支持代理轮换以进行大规模存档
### 对大型频道(1000+ 条消息)的建议:
1. 请求之间使用 2–3 秒的延迟
2. 对多个频道使用轮换代理
## 免责声明
本工具仅用于教育目的和个人内容抓取,请仅抓取您已获授权访问的内容。
请尊重 Telegram 的服务条款和频道所有者的知识产权。
不得将该工具用于骚扰、垃圾邮件或任何恶意用途。
作者不对该脚本的使用方式承担责任。
使用本工具即表示您同意遵守所有适用的法律法规。
## 许可证
MIT 许可证
标签:BeautifulSoup4, BeEF, curl_cffi, ESC4, HTML报告, langdetect, OSINT, Python, Telegram, 代理支持, 元数据提取, 公开频道, 关键词提取, 创建时间检测, 反反爬, 告警, 图片下载, 媒体下载, 批量处理, 数据存档, 文本分类, 无后门, 时间戳, 查看统计, 消息抓取, 爬虫, 离线分析, 视频缩略图, 订阅者统计, 语言检测, 请求延迟, 进程保护, 逆向工具