Техническое задание: Разработка парсеров для отельных агрегаторов
Необходимо разработать систему парсеров для сбора данных с трех крупных сайтов онлайн-бронирования отелей. Для каждого сайта требуется два парсера: основной и вторичный, который на 80% состоит из кода первого, но собирает несколько иную информацию.
Основные задачи
- Анализ главной страницы сайтов. Реализация формы поиска с заданием параметров: город, дата заезда, дата выезда.
- Обработка выдачи: сбор списка отелей, их названий и цен.
- Организация циклического обхода страниц для сбора полных данных.
- Сохранение структурированных результатов в файл Excel с применением форматирования.
Технические требования и сложности
Обработка защиты
Все целевые сайты обладают продвинутой системой защиты от автоматического парсинга. Для успешной работы необходимо:
- Использовать undetected-playwright для запуска браузера Chrome и получения валидных сессионных cookies.
- После инициализации сессии выполнять основные запросы с использованием Python-библиотек (например, requests), эмулируя поведение реального пользователя.
Архитектура и производительность
- Реализация многопоточности для увеличения скорости сбора данных.
- Интеграция поддержки работы через прокси-серверы для ротации IP-адресов и избежания блокировок.
Требования к исполнителю
- Опыт разработки на Python.
- Практический опыт работы с undetected-playwright или аналогичными инструментами для обхода anti-bot систем.
- Опыт создания многопоточных парсеров высокой надежности.
- Готовность работать с предоставленным legacy-кодом (существующие парсеры прошлого года), который будет служить основой для нового проекта, так как содержит много вспомогательной логики.
Условия и сроки
Исполнителю, который выполнит работу качественно и в срок (одна неделя), гарантирована премия.