项目简介
本项目是基于Python语言的Telegram爬虫系统,可从Telegram机器人里爬取关键词、群组频道、历史消息和外部链接等信息,帮助用户实现Telegram平台数据的自动化收集与分析。
项目的主要特性和功能
- 关键词爬取:能从Telegram机器人查询前99个热门关键词,并将结果保存至本地文件与MongoDB数据库。
- 群组/频道搜索:依据爬取的关键词,在Telegram群组或频道搜索,结果保存到本地文件和数据库。
- 历史消息爬取:从搜索到的群组/频道爬取历史消息,保存消息ID、日期、文本内容及是否含应用类型媒体文件。
- 外部链接提取:从爬取的历史消息中提取外部链接,并去重处理。
- 应用下载(待完成):模拟访问提取的外部链接,下载应用文件。
安装使用步骤
1. 安装依赖
bash
pip install -r requirement.txt
2. 配置文件设置
将config.example.ini
复制为config.ini
,按实际情况配置:
- telegram_config
:从my.telegram.org获取API ID和API Hash。
- mongo
:MongoDB数据库配置信息。
- proxy
:Telegram爬取所需代理配置。
- download_dir
:本地文件下载目录。
- bot_channel_group
:需使用的Telegram机器人、群组或频道。
- settings
:爬虫运行限制设置,如点击次数、群组爬取限制等。
3. 启动MongoDB数据库
确保配置好Docker环境,在包含docker-compose.yml
的目录执行:
bash
docker-compose up -d
4. 运行爬虫
使用以下命令启动爬虫:
bash
python telbot
按需执行不同爬取任务,如:
- 获取99个关键词:
bash
python3 telbot -k from_config
- 从数据库获取关键词并搜索群组/频道:
bash
python3 telbot -s from_collection
- 从数据库获取群组/频道并爬取历史消息:
bash
python3 telbot -m from_collection
- 从数据库获取历史消息并提取外部链接:
bash
python3 telbot -e from_collection
5. 后台运行或定时启动
使用screen
后台运行
bash
screen -S telegram_crawler
./telegram_crawler_run.sh
使用cron
定时启动
bash
chmod +x telegram_crawler_run.sh
crontab -e
0 0 * * * /path/to/telegram_crawler_run.sh
注意事项
- 确保代理服务器正常运行,在
config.ini
正确配置代理信息。 - 确保MongoDB数据库运行正常,在
config.ini
正确配置数据库相关信息。 - 遵守Telegram服务条款和相关法律法规,避免非法或不当行为。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】