Техническое задание на разработку системы парсинга и автоматизации

Требуется создать промышленную, масштабируемую и высоконагруженную систему для сбора данных с веб-ресурсов с использованием браузерной автоматизации.

Цель проекта

Разработка отказоустойчивого бэкенда, который имитирует поведение реального пользователя для выполнения последовательности действий: авторизация на сайте, решение капчи, загрузка PDF-документов и извлечение из них целевых данных.

Ключевые требования к архитектуре

  • Производительность: Система должна стабильно работать в режиме 150+ одновременных потоков выполнения.
  • Масштабируемость: Архитектура на базе Docker-контейнеров. Должна быть предусмотрена возможность добавления новых серверов-воркеров без остановки работы системы.
  • Очереди задач: Обязательное использование брокеров сообщений (Redis/RabbitMQ) для управления задачами. Запрещено использование текстовых файлов для синхронизации.
  • Технический стек: Бэкенд на Python (предпочтительно FastAPI или Aiohttp), фреймворк браузерной автоматизации (Playwright или Selenoid), база данных PostgreSQL для хранения результатов.
  • Обход защиты: Опыт работы с технологиями обнаружения ботов: Fingerprinting, Canvas, WebGL. Обязательна реализация ротации прокси-серверов.

Основные компоненты системы

  • API Gateway: Единая точка входа для приема задач от внешних клиентов (например, Telegram-бота).
  • Воркеры: Набор сервисов, ответственных за непосредственное выполнение задач: взаимодействие с сайтом, интеграция с сервисами решения капчи, загрузка и парсинг PDF-файлов.
  • Административная панель: Веб-интерфейс для мониторинга состояния системы, управления активными потоками и конфигурационными ключами (прокси, API-ключи сервисов).

Что ожидаем от кандидата

В отклике, пожалуйста, кратко осветите следующие моменты:

  1. Ваш практический опыт работы с фреймворками браузерной автоматизации (Playwright/Selenium) и оркестрацией контейнеров (Docker).
  2. Опыт разработки и поддержки систем, работающих под высокой нагрузкой (100+ параллельных процессов/потоков).
  3. Готовность к работе по детальному техническому заданию, которое будет предоставлено выбранному исполнителю.

Комплексное тестирование Telegram-бота для учета нарушений парковки

Требуется провести полное функциональное и негативное тестирование MVP-версии Telegram-бота. Бот предназначен для подачи фото-заявлений о нарушениях правил парковки. Готовое техническое задание прилагается.

Парсинг данных из реестра застройщиков

Необходимо собрать информацию о компаниях-застройщиках с государственного портала. Требуется извлечь контактные данные, статусы проектов и сохранить в структурированном виде.