Парсер Telegram-каналов на PHP с автоматической загрузкой постов, фото и генерацией HTML-страницы просмотра.
Подходит для архивирования постов, создания витрин контента, бэкапов и аналитики.
- Подключение к Telegram через MadelineProto
- Парсинг постов с фильтром по тегу (
#шпора,#гайд, и т.д.) - Загрузка фото и документов
- Сохранение в формате NDJSON (по строке на пост)
- Автоматическая генерация страницы просмотра
view.php - Конфигурация через
.env - Безопасное хранение сессий (файлы
session_*.madelineне коммитятся)
git clone https://github.com/username/telegram-parser.git
cd telegram-parser
composer install
cp .env.example .envОткрой .env и вставь свои ключи с my.telegram.org:
TELEGRAM_API_ID=123456
TELEGRAM_API_HASH=abcdef1234567890abcdef1234567890php parser.php folder=js_ready group_id=javascript_readyy tag=шпора limit=100📂 После выполнения появится структура:
out/js_ready/
├── media/
│ ├── photo_*.jpg
│ └── ...
├── tg_posts_YYYY-MM-DD.ndjson
└── view.php
php -S localhost:8080 -t out/js_readyЗайди в http://localhost:8080/view.php
-
Если включена двухфакторная защита Telegram → введи пароль при первом запуске.
-
Чтобы запустить на сервере без входа, авторизуйся локально и скопируй
session_*.madeline. -
Для разных каналов можно использовать разные папки:
php parser.php folder=python group_id=python_ru tag=гайд php parser.php folder=bitrix group_id=bitrixnews tag=bitrix
- PHP 8.1+
- Composer
- Расширения:
curl,json,mbstring,openssl - Telegram-аккаунт с доступом к публичным каналам
- Никогда не публикуй
.envиsession_*.madeline - Используй
.env.exampleдля шаблона - Настрой cron-задачу для автоматической выгрузки раз в день
👨💻 Андрей Викулов (VProger) Senior Web Developer / DevOps Bitrix | Laravel | Django | React | Tailwind VK • GitHub • Website