littlebot
Published on 2025-04-03 / 4 Visits
0

【源码】基于Python语言的Telegram爬虫系统

项目简介

本项目是基于Python语言的Telegram爬虫系统,可从Telegram机器人里爬取关键词、群组频道、历史消息和外部链接等信息,帮助用户实现Telegram平台数据的自动化收集与分析。

项目的主要特性和功能

  1. 关键词爬取:能从Telegram机器人查询前99个热门关键词,并将结果保存至本地文件与MongoDB数据库。
  2. 群组/频道搜索:依据爬取的关键词,在Telegram群组或频道搜索,结果保存到本地文件和数据库。
  3. 历史消息爬取:从搜索到的群组/频道爬取历史消息,保存消息ID、日期、文本内容及是否含应用类型媒体文件。
  4. 外部链接提取:从爬取的历史消息中提取外部链接,并去重处理。
  5. 应用下载(待完成):模拟访问提取的外部链接,下载应用文件。

安装使用步骤

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】