Техническое задание: Парсер с обходом антибот-системы
Цель проекта
Разработать многопоточную программу для автоматизированного сбора информации (скраппинга) с целевого веб-ресурса, который использует механизмы для блокировки автоматических запросов.
Ключевые функции
- Загрузка списка URL: Программа должна принимать на вход файл (txt/csv) со списком адресов для обработки.
- Эмуляция браузера: Полноценная работа с cookies, отправка корректных заголовков (user-agent и других), как у обычного веб-браузера.
- Обработка антибот-проверки:
- Определение результата проверки по конечному URL.
- Если система пропускает запрос (переход на страницу-индикатор успеха), программа сохраняет HTML-код или нужные данные исходного URL.
- Если запрос заблокирован (переход на страницу-индикатор блокировки), URL заносится в лог ошибок.
- Производительность и управление:
- Многопоточная архитектура.
- Настройка количества одновременных потоков.
- Ограничение частоты запросов (RPS).
- Управление временем сессии.
- Возможность эмуляции действий пользователя (прокрутка, задержки).
- Работа через прокси: Поддержка списка прокси-серверов различных типов (HTTP, HTTPS, SOCKS).
Требования к реализации
- Программа должна надежно определять результат антибот-проверки, описанной в задании.
- Необходимо обеспечить устойчивость к ошибкам сети и временной недоступности ресурсов.
- Код должен быть хорошо структурирован и документирован.