Парсер чатов Telegram на Python. Извлекает сообщения из каналов и групп, скачивает медиафайлы, экспортирует в JSON/CSV.
# Клонировать репозиторий
cd TG_parcer
# Создать и активировать виртуальное окружение
python3 -m venv venv
source venv/bin/activate
# Установить зависимости
pip install -r requirements.txt
# Настроить API credentials
cp .env.example .env
# Отредактировать .env — указать API_ID, API_HASH и PHONE- Зайдите на my.telegram.org
- Авторизуйтесь
- Перейдите в API Development Tools
- Создайте приложение → скопируйте
api_idиapi_hash
# Парсинг публичного канала (последние 100 сообщений, JSON)
python main.py --chat @durov --limit 100
# Парсинг с экспортом в оба формата + скачивание медиа
python main.py --chat https://t.me/some_channel --format both --media
# Парсинг по ID, только CSV, только фото и документы
python main.py --chat -1001234567890 --format csv --media --media-types photo,document
# Все сообщения из канала (без лимита)
python main.py --chat @channel_name --format json| Параметр | Описание | По умолчанию |
|---|---|---|
--chat |
Username, ссылка или ID чата (обязательный) | — |
--limit |
Макс. кол-во сообщений | все |
--format |
json, csv или both |
json |
--media |
Скачивать медиафайлы | нет |
--media-types |
Типы: photo,video,document |
все |
--output-dir |
Папка для результатов | output/ |
output/
└── channel_name/
├── messages.json
├── messages.csv
└── media/
├── photo_2025-01-01.jpg
├── video_2025-01-02.mp4
└── document.pdf
Слушайте новые сообщения в выбранных чатах в реальном времени.
# Показать все группы и выбрать для прослушивания
python list_chats.py --select
# Или только каналы
python list_chats.py --channels --select
# Или все чаты (включая личные)
python list_chats.py --all --select# Слушать выбранные чаты (из selected_chats.json)
python listener.py
# Или указать чаты напрямую
python listener.py --chats @channel1 @channel2
# С сохранением медиа и логом в файл
python listener.py --save-media --output messages.jsonlListener показывает сообщения в реальном времени с цветным выводом, а также отслеживает редактирование и удаление сообщений.
При первом запуске Telethon запросит код подтверждения из Telegram. После успешной авторизации сессия сохраняется в .session файл — повторный ввод кода не потребуется.
Если включена двухфакторная аутентификация (2FA), также потребуется ввести облачный пароль.