Техническое задание: Автоматизированный сбор данных из личного кабинета
Необходимо разработать стабильно работающий скрипт, который будет выполнять авторизацию на указанном сайте и с заданной периодичностью извлекать определенные значения из защищенного личного кабинета пользователя.
Ключевые цели проекта
- Обеспечение надежной и стабильной авторизации в системе.
- Реализация механизма периодического (по расписанию) сбора одного или нескольких целевых данных.
- Преодоление стандартных систем защиты от автоматизированного доступа (бот-защита).
Основные функциональные требования
1. Устойчивая авторизация
- Скрипт должен корректно обрабатывать процесс входа в систему (логин и пароль).
- Необходимо обеспечить сохранение состояния сессии для последующих запросов.
2. Обход систем защиты
- Реализовать логику для обработки и решения капчи (CAPTCHA), если она появляется.
- Предусмотреть механизмы предотвращения принудительного разлогинивания (логаута) при частых запросах (например, использование задержек, ротация user-agent, имитация поведения человека).
- Обеспечить устойчивость скрипта к изменениям в структуре сайта (по возможности).
3. Сбор и обработка данных
- Скрипт должен точно находить и извлекать заданные значения со страниц личного кабинета.
- Реализовать настройку периодичности запросов (например, раз в час, день).
- Продумать формат вывода или сохранения полученных данных (логирование в файл, вывод в консоль, отправка в базу данных и т.п.).
4. Надежность и сопровождение
- Код должен быть хорошо структурирован, документирован и готов к дальнейшей поддержке.
- Важна обработка ошибок (проблемы с сетью, изменения на сайте, неверные учетные данные) с понятным логированием.
- Скрипт должен работать автономно, желательно в фоновом режиме (например, как демон или служба).
Ожидаемый результат
Готовое, отлаженное решение в виде исходного кода и инструкции по его настройке и запуску. Скрипт должен стабильно выполнять свою задачу в автоматическом режиме, минимизируя риски блокировки со стороны целевого веб-ресурса.