Архивный кейс · VK parser и контентный pipeline

WTG

WTG — VK parser и контентный pipeline. Система собирает публикации и связанные материалы через VK API и Playwright, сохраняет raw evidence, ставит OCR и классификацию в очередь и выводит результат оператору для проверки, разметки и решения о публикации. Страница фиксирует интерфейс, архитектуру, code-map и измерения проекта.

Разработка и накопление материалов: июнь–июль 2026. Архивный кейс подготовлен 8 сентября 2026.Версия 2184148730 кадров интерфейса

Расписания сбора и обработки

01 / Задача

Сбор публикаций, OCR и классификация. Архив

Нужно было объединить сбор контента из VK, обработку изображений и текстов и операторскую проверку в одном наблюдаемом процессе. Каждая стадия должна оставлять проверяемый результат и поддерживать повтор без потери исходных данных.

Сценарий: Сбор и ручная проверка обработанных публикаций.

Что делал

  • Сбор, очереди, обработка и экран проверки оператором.
  • Админка, модели данных и code-map.

02 / Реализация

Что отличает реализацию

Raw evidence хранится отдельно от производных данных. Очереди разделяют сбор, OCR, классификацию и редакционное решение; оператор видит источник и промежуточные результаты до публикации. Code-map связывает экран и API с модулем, таблицами и проверками, поэтому изменение можно проследить по всей цепочке.

Скриншоты

Экраны, формы, ошибки

Скриншоты, схемы и исходные материалы сохранены на языке оригинала; подписи и описание переведены.

03 / Технологии

Что использовано

Python content pipeline 60.7%Python / VK / Playwright 19.4%FastAPI / operator UI 12.6%Alembic / PostgreSQL 4.8%Python / OCR 2.5%

Доли по размеру прикладных файлов Git в закреплённой версии. Каждый файл отнесён к одной подсистеме по правилам scripts/generate-stack-share.mjs; тесты, ассеты, зависимости и generated-файлы исключены. Округление — до 0,1%. Это состав кода, а не уровень владения технологиями.

Python / FastAPI / Jinja

Операционная админка, JSON API и orchestration.

PostgreSQL / SQLAlchemy / Alembic

Публикации, задания, версии решений, материалы и миграции.

PaddleOCR

Отдельный OCR sidecar и worker.

Docker / Nginx / systemd

Прежнее размещение семи служб и фоновые задания.

04 / Решения

Как устроен проект

  • Сбор и долгая обработка вынесены в задания с lease/heartbeat.
  • OCR отделён от web и имеет самостоятельные очередь, статусы и попытки.
  • Исходная публикация, промежуточные решения и итоговые материалы имеют разные роли.
  • Публичный архив содержит обезличенные изображения, документацию и агрегированные измерения без пользовательских идентификаторов.
Архитектура наблюдаемого контура WTG
Архитектура наблюдаемого контура WTG

05 / Проверка

Что сохранено

  1. Просмотрите обезличенные расписания, группы, pipeline и материалы.
  2. Сопоставьте экран со строкой code-map и схемой данных.
  3. Откройте агрегаты очередей и истории, прочитайте дату и ограничения замера.

Результаты проверок

  • Сохранено 30 содержательных кадров фактического интерфейса.
  • Дата, сценарий и версия указаны у каждого кадра.
  • Зафиксировано 527 718 публикаций и 29 092 OCR-задания; это разные сущности и не показатели качества.

Ограничения

  • Архивный кейс не содержит работающей демо-ссылки; поведение фиксируют обезличенные экраны, схемы и агрегированные измерения.
  • Статусы заданий и confidence не являются измерением точности OCR или моделей.
  • Legacy noVNC и недоступные разделы не выдаются за работающие.
  • Наблюдавшийся рост памяти web-процесса описан как факт замера; первопричина в коде не установлена.

Технические заметки

Модули, API, схема данных, запуск и результаты проверок.

Документация →Материалы ↓