Задача
Разработать скрипт (парсер-отправщик заявок) для работы с системой, на которой реализована комплексная защита от автоматизации (капча + обязательная авторизация в браузере + защита при заполнении формы).
Функциональные требования
- Авторизация: должна выполняться исключительно через веб-браузер с помощью Selenium (другие методы не работают из-за защиты). Каждая сессия авторизации уникальна.
- Обход капчи: использовать сервис RuCaptcha для автоматического разгадывания.
- Отправка заявок: последующий процесс заполнения и отправки формы также выполняется через открытое окно браузера.
- Конфиденциальность и антифрод:
- Каждый запрос и новая сессия должны использовать индивидуальную прокси.
- Для каждого запуска создаётся абсолютно новый, чистый профиль браузера (с уникальными fingerprint-параметрами), чтобы избежать блокировок.
- Производительность: многопоточная архитектура. Программа гибко запускает несколько потоков (воркеров) в зависимости от нагрузки и доступных прокси.
Инфраструктура и Server-side решения
- Размещение: все компоненты скриптов и админка устанавливаются на нашем сервере (VPS).
- Собственное API.
- Разработайте эндпоинты для внутреннего приема новых заявок от внешних сервисов или ручного ввода.
- Прием заявок через POST/GET запросы.
Административная панель
- Раздел просмотра заявок: таблица со списком отправленных заявок с указанием текущего статуса (В очереди, Отправляется, Отправлено, Ошибка).
- Логирование ошибок: подробный вывод ошибки для каждой сбойной транзакции (например: "Капча не разгадана", "Прокси не отвечает", "Ошибка авторизации"), позволяющий понять причину неудачи.
- Повторная отправка: Кнопка/функция "Повторить" для тех заявок, которые заверщились со статусом Ошибка или неотправлены. Простое нажатие ставит её в очередь на немедленный рест попытки.
Технический стек (предполагаемый)
- Python 3.x
- Selenium (с поддержкой прокси и кастомных профилей)
- FastAPI или Flask для создания API
- HTML/CSS/JavaScript или любой популярный фреймворк (Dashboard граница - простенькая заметная доска с JQuery; без SQL, достаточно SQLite/Redis из коробки