Техническое задание: Автоматизированный сбор данных из личного кабинета

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

Ключевые цели проекта

  • Обеспечение надежной и стабильной авторизации в системе.
  • Реализация механизма периодического (по расписанию) сбора одного или нескольких целевых данных.
  • Преодоление стандартных систем защиты от автоматизированного доступа (бот-защита).

Основные функциональные требования

1. Устойчивая авторизация

  • Скрипт должен корректно обрабатывать процесс входа в систему (логин и пароль).
  • Необходимо обеспечить сохранение состояния сессии для последующих запросов.

2. Обход систем защиты

  • Реализовать логику для обработки и решения капчи (CAPTCHA), если она появляется.
  • Предусмотреть механизмы предотвращения принудительного разлогинивания (логаута) при частых запросах (например, использование задержек, ротация user-agent, имитация поведения человека).
  • Обеспечить устойчивость скрипта к изменениям в структуре сайта (по возможности).

3. Сбор и обработка данных

  • Скрипт должен точно находить и извлекать заданные значения со страниц личного кабинета.
  • Реализовать настройку периодичности запросов (например, раз в час, день).
  • Продумать формат вывода или сохранения полученных данных (логирование в файл, вывод в консоль, отправка в базу данных и т.п.).

4. Надежность и сопровождение

  • Код должен быть хорошо структурирован, документирован и готов к дальнейшей поддержке.
  • Важна обработка ошибок (проблемы с сетью, изменения на сайте, неверные учетные данные) с понятным логированием.
  • Скрипт должен работать автономно, желательно в фоновом режиме (например, как демон или служба).

Ожидаемый результат

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