Создаём пет-проект по аналитике с GitHub Actions: часть 2
- Фокус части — выбор темы проекта и источника данных, а также логика сбора и представления результатов.
- «Хороший» проект описывается как задача с реальными данными, использованием нескольких инструментов (например, SQL, Python, Git, Excel), наличием проблемы и применимых выводов.
- Пример постановки — мониторинг Telegram-каналов (рост, охваты, частота публикаций, темы, вовлечённость, ключевые слова, наличие реклам), но в этой части разбирается только сбор числа подписчиков и немного визуализации.
- Для Telegram сравниваются варианты Telethon и парсинг HTML-страниц; в опыте автора сбор через Telethon приводил к разлогированию и блокировке аккаунта примерно на 30 минут из-за повторяющихся запросов.
- В результате выбран парсинг HTML-страниц Telegram-каналов и показан каркас проекта: ежедневный запуск, сохранение данных в CSV и пример графика динамики подписчиков за последние 30 дней.
Почему это важно: Связка планировщика в репозитории и скриптов превращает разрозненные шаги в повторяемый процесс: от получения данных до графика. Такой каркас регулярного сбора данных помогает сделать портфолио-проект ближе к реальности и понятнее для ревью. Также это демонстрирует практику упаковки результата в формат, который удобно читать.
На что обратить внимание: В тексте описан сбор только числа подписчиков, поэтому интерпретации ограничены и без дополнительных метрик остаются поверхностными. В постановке задачи подразумевается ежедневный сбор без необходимости глубоко уходить в историю, и это влияет на выбор метода. Также отмечается, что повторяющиеся запросы могут приводить к ограничениям доступа, поэтому устойчивость источника и сценария сбора выступает важным допущением.
Коротко
- Автор подчёркивает, что тема проекта лучше «держится», когда опирается на личный интерес и доступ к данным в реальном времени — так проще довести работу до результата.
- В примере предусмотрена защита от дублей: при наличии записей за текущую дату сбор пропускается, что обычно снижает шум и облегчает последующий анализ.
- Использование headless-браузера помогает автоматизировать сбор, но в подобных пайплайнах часто появляется зависимость от окружения и стабильности веб-страниц.
- Показатель подписчиков даёт только верхнеуровневую динамику; для выводов о стратегии канала обычно нужны контентные метрики, реакции и частота публикаций.
- Передача токена бота и ID канала через Git secrets иллюстрирует практику отделения конфигурации от кода и аккуратной работы с чувствительными параметрами.
FAQ
Зачем эта статья может быть важна начинающему аналитику, если это не готовый бизнес-кейс, а разбор пет-проекта и выбора источников данных?
Она показывает, как собрать проект ближе к реальности: выбрать тему и источник данных, настроить регулярный сбор и наглядно представить результат. Это может служить каркасом для портфолио.
Почему в примере для Telegram автор сравнивает Telethon и парсинг HTML-страниц, и по какой причине в итоге выбирается именно парсинг?
В тексте описаны разлогирование и блокировка аккаунта примерно на 30 минут при работе через Telethon из-за повторяющихся запросов. Для ежедневного сбора без глубокой истории автору проще оказался парсинг HTML-страниц.
Какие данные и какой горизонт анализа показываются в этой части проекта, и какие ограничения у таких выводов прямо отмечаются в тексте?
Разбирается ежедневный сбор числа подписчиков и простая визуализация; в примере анализируется период последних 30 дней. Автор прямо отмечает, что по одному росту подписчиков выводы остаются скромными.
Как организована отправка результатов в Telegram и где в проекте предполагается хранить параметры доступа, чтобы не держать их в коде?
Результаты отправляются ботом в приватный Telegram-канал, включая текст и картинку с графиком. Токен бота и ID канала предлагается хранить в secrets в Git.
Читайте также
Динамический ресайзинг изображений (Image Previewer)
Как в Авито обеспечивают self-service разработки и деплоя витрин
Автоматизация деплоя с GitHub Actions: пошаговое руководство для начинающих
Как тимлид заменил десятки вкладок на файловую систему и Claude Code
Почему я так придираюсь к вёрстке (и вам советую)
- Выбор метода сбора данных из Telegram: Telethon vs парсинг HTML-страниц: В одном из примеров сравниваются два подхода к сбору данных из Telegram: через Python-библиотеку Telethon (официальный/аккаунтный сценарий) и через парсинг публичных HTML-страниц канала. По описанному опыту, повторяющиеся запросы и регулярный сбор могут приводить к разлогированию и временным ограничениям аккаунта, поэтому для ежедневного мониторинга без глубокой истории автор склоняется к HTML-парсингу как более простому сценарию.
[Сбор данных / Telegram]
Зарегистрированные пользователи видят только два тезиса.
Зарегистрироваться
Автор продолжает разбирать GitHub Actions на примере пет-проекта аналитики: ежедневный сбор метрик Telegram-каналов и базовая визуализация. Главный итог — показан каркас для регулярного обновления данных и демонстрации результата.