Технологии

🛠️ Как устроен мониторинг новостей ThinkRed

📅 20 июня 2026 📖 9 минут чтения 🏷️ ThinkRed / технологии / мониторинг / автоматизация / Python

Чтобы марксистский образовательный проект ThinkRed был актуален, необходимо отслеживать события в реальном мире — забастовки, законы о труде, деятельность компартий, новые научные работы по марксизму. Ручной сбор из десятков источников отнимает часы ежедневно. Мы построили автоматизированную систему мониторинга, которая собирает информацию из 30+ источников на 4 языках, фильтрует релевантное (текущий показатель: 54%), классифицирует по категориям и — главное — генерирует конкретные действия для проекта. Рассказываем, как это работает.

1. Зачем понадобился мониторинг

Проблема: Чтобы марксистский образовательный проект ThinkRed был актуален, необходимо отслеживать события в реальном мире — забастовки, законы о труде, деятельность компартий, новые научные работы по марксизму. Ручной сбор из десятков источников отнимает часы ежедневно.

ThinkRed — это марксистский образовательный проект, предлагающий курсы по марксизму на Stepik, аналитический блог на thinkred.ru и YouTube-канал @TheThinkRed. Для содержательного, классово-ориентированного образования необходимо:

  • Актуальность: связывать теорию с текущими событиями
  • Научность: опираться на новейшие академические исследования
  • Широта охвата: следить за рабочим движением по всему миру
  • Оперативность: реагировать на события в день их происхождения

Было принято решение построить автоматизированную систему мониторинга, которая:

  • Собирает информацию из 30+ источников на 4 языках
  • Фильтрует релевантные события (текущий показатель: 54% релевантности)
  • Классифицирует их по 8 категориям
  • Ежедневно выбирает топ-5 событий и генерирует действия для проекта
  • Еженедельно публикует аналитический отчёт на сайте

2. Источники данных

Система собирает данные из 6 типов источников на 4 языках. Каждый тип требует своего метода парсинга и адаптации.

2.1 Telegram — 22 канала

Telegram остаётся основной площадкой для левых организаций, компартий и активистов. Система парсит публичные каналы через t.me/s/ — веб-версию Telegram, не требующую API-ключа. Техника: requestsBeautifulSoup → регулярное выражение data-post.

ГруппаКаналыЯзык
РоссийскиеAgitblog, levfront, novosti_rpr, rossolit, dumai_sam_i_sei4asRU
Englishthecommunists, communism, communist_world, strike_news, classwar, marx21, communist_unity, socialist_party, socialistnews, communistnews, communist_youthEN
Françaisparticommuniste (PCF), lutteouvriereFR
Español/Portuguêsmarxismoleninismo, comunistascuba, pcv_venezuela, socialismo_brasilES/PT

Техника парсинга: requestsBeautifulSoup → регулярное выражение data-post. Ограничение: приватные каналы не читаются — для них нужен бот в канале.

2.2 RSS — 31 лента

RSS остаётся наиболее стабильным и структурированным источником. Ленты разделены на 5 групп:

ГруппаКол-воПримеры
Российские новости6ТАСС, Интерфакс, RT, Lenta.ru, МК, Xinhua (EN)
Российские левые6КПРФ (3 ленты), МГК КПРФ, Рабкор, Советская Россия
Международные левые13People's World, WSWS, IMT, Monthly Review, Jacobin, Tribune, Socialist Worker, Left Voice, Morning Star
Профсоюзы/рабочие4IndustriALL, LabourStart, Labor Notes, Global Labour Column
Аналитика2The New Arab, Socialist Project

Валидация: перед добавлением каждого RSS проверяется ответ HTTP и первые 5 байт (должны быть <?xml).

2.3 VK — 11 групп

VK — ключевая площадка для российских левых организаций. Парсинг ведётся через VK API с user token (получен через OAuth-приложение Kate Mobile). Среди отслеживаемых: kprf, levfront, rotfront, komros, rabkor_ru, kommunist, marxizm, trudovaya_rossiya и другие.

2.4 Reddit — 7 subreddits

Reddit предоставляет богатый источник левого дискурса: r/communism (150k), r/socialism (500k), r/LateStageCapitalism (1.4M), r/Marxism (80k), r/labor (108k), r/union (125k), r/LeftistNews (15k). С 2024 года Reddit блокирует VPS-IP по JSON API — решение: парсинг через RSS с Firefox User-Agent.

2.5 Научные работы — OpenAlex + arXiv

Уникальная для левого мониторинга функция — отслеживание академических публикаций:

  • OpenAlex — бесплатная открытая база данных. Поиск по концептам: «Marxism», «class struggle», «historical materialism», «socialist transition». ~10 запросов/сек.
  • arXiv — препринты с фильтром по категориям (econ, soc-ph, cs.CY, stat.AP, math.HO) для исключения нерелевантных разделов.

Результат: за один запуск OpenAlex находит 10-15 релевантных работ. Примеры: «Towards an Open and Political Marxist theory of the state» (2026), «The Structure of Scientific Socialism» (arXiv, 2026).

2.6 Поиск — Exa MCP

DuckDuckGo блокирует VPS при 5+ запросах. Замена: Agent-Reach Exa MCP — семантический поиск через mcporter, бесплатный, без API-ключа.

3. Архитектура системы

1

📡 Сбор (monitor_social.py)

Парсинг Telegram → RSS → VK → Reddit → OpenAlex/arXiv → Exa. Всего ~500 записей за 160 секунд.

2

🔎 Фильтрация

По 100+ ключевым словам (русские + английские). 54% проходят фильтр — ~270 релевантных.

3

📊 Анализ (analyze_social.py)

Классификация по 8 категориям, извлечение ключевых фигур, оценка масштаба.

4

🔮 Прогноз

5 факторов влияния на положение рабочих с направлением и силой.

5

⚡ Действия (daily_digest.py)

Из топ-500 → 5 событий. Для каждого — конкретное действие: пост в Telegram, статья, интеграция в курс.

6

🌐 Публикация (SEO + thinkred.ru)

Генерация HTML со Schema.org, Open Graph, Twitter Cards. Автоматическое обновление sitemap и blog index.

4. Ежедневный пайплайн

Каждое утро в 9:00 запускается daily_pipeline.py — сквозной конвейер, который за ~3,5 минуты выполняет полный цикл: сбор → YouTube → дайджест → Telegram-уведомление.

📋 Пример дайджеста

Топ-5 событий с действиями:

  1. ⚒️ Забастовки в США → Написать пост в Telegram @thinkred_marx, добавить в курс Капитала
  2. 🎓 Марксистская теория государства → Внедрить в урок курса
  3. 🚩 Активность CPGB-ML → Сравнить стратегии компартий
  4. 🌍 Кубинские реформы → Статья на thinkred.ru
  5. 🇺🇸 UAW дивестирует из Израиля → Репост с профсоюзным анализом

5. Еженедельный аналитический отчёт

По воскресеньям в 9:00 — полный конвейер из 7 шагов, завершающийся публикацией интерактивного дашборда на thinkred.ru с KPI-панелью, графиками Chart.js, приоритетной матрицей, карточками категорий и прогнозами.

Формат отчёта: интерактивный дашборд с KPI-панелью, графиками Chart.js, приоритетной матрицей, карточками категорий, панелью прогнозов и списком источников. Посмотреть пример →

6. Технические детали

6.1 Инфраструктура

  • Сервер: выделенный виртуальный сервер проекта
  • Язык: Python 3.11
  • Ключевые библиотеки: requests, BeautifulSoup (lxml), yt-dlp, ElementTree
  • Оркестрация: Hermes Agent cron
  • Поиск: Agent-Reach Exa MCP
  • Деплой: автоматизированные скрипты

6.2 Фильтрация

Два набора ключевых слов: русские (50+) и английские (50+). Регистронезависимая, по вхождению в текст. Проблемные случаи: «профсоюз» → спорт (НХЛ), «РПР» → СберПрайм, «union» → European Union, «red» → redirect. Решаются на этапе постобработки.

6.3 Проблемы и их решения

ПроблемаРешение
Reddit блокирует VPS (JSON → 403)RSS через Firefox User-Agent
VK API требует токен (с v5.199)User token из OAuth (Kate Mobile)
DuckDuckGo банит при 5+ запросахExa MCP (Agent-Reach)
arXiv отдаёт астрофизикуФильтр категорий
OpenAlex показывает даты 2028-2050Фильтр publication_date

6.4 Измерения производительности

⏱ Время полного сбора: ~160 сек 📦 Записей за запуск: ~535 🎯 Релевантность: ~54%
🇷🇺 Русских: ~100 🇬🇧 Английских: ~188 📋 Размер JSON: ~1.3 MB

7. Эволюция системы

Июнь 2026 — первая версия: 3 Telegram-канала, 6 RSS-лент, DuckDuckGo. ~40 записей, только русские.

Июнь 2026 — расширение: +17 Telegram-каналов (English, Français, Español), +20 RSS-лент (международные), VK (11 групп), Reddit (7 subreddits). ~535 записей.

Июнь 2026 — наука и поиск: +OpenAlex +arXiv, +Exa MCP, +YouTube через yt-dlp.

Сейчас: 6 типов источников, 30+ каналов, 4 языка, 2 cron-задачи (ежедневная + еженедельная), полный цикл «сбор → анализ → действие → публикация».

8. Что дальше

🐦

Twitter/X

Agent-Reach Twitter CLI установлен. Требуется OAuth.

📺

YouTube

yt-dlp работает. Нужно больше каналов.

📄

CORE API

PDF-полнотекст научных работ.

🤖

Agent-Reach Reddit

rdt-cli требует login для комментариев.

Система остаётся открытой для расширения: любой новый источник добавляется через конфигурацию в monitor_social.py и валидируется автоматически.

🚩 Итог

Система мониторинга ThinkRed — это не просто агрегатор новостей. Это инструмент превращения информации в действие. Ленин писал: «Без революционной теории не может быть и революционного движения» — В. И. Ленин, «Что делать?» (1902), ПСС, т. 6, с. 24. Читать на Marxists.org →. Мониторинг ThinkRed материализует эту связь: каждая забастовка, каждая научная статья, каждая активность компартии становится не просто записью в ленте, а триггером для конкретного шага — поста в Telegram, нового урока в курсе, статьи на сайте или видео на YouTube. Именно так марксистский образовательный проект превращает теоретический материал в инструмент классовой борьбы.

🔴 Хотите увидеть систему в действии?

Подпишитесь на Telegram-канал проекта — каждый день мы публикуем дайджест топ-5 событий с анализом и действиями. А по воскресеньям — полный аналитический отчёт на сайте.

Или просто пройдите курс — это главное, что мы делаем.