Техническое задание: Парсер тестовых данных учебного портала

Необходимо разработать автоматизированное решение для сбора структурированных данных с образовательного онлайн-портала.

Основная цель

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

Ключевые задачи

  • Реализовать механизм авторизации на портале (работа с сессиями, cookies).
  • Настроить обход структуры портала для обнаружения доступных курсов и разделов с тестами.
  • Разработать парсер для извлечения следующих данных из каждого теста:
    • Формулировка вопроса.
    • Все доступные варианты ответов.
    • Пометки о правильных ответах (если они видны в интерфейсе).
    • Название темы и курса.
  • Обеспечить сохранение данных в удобном структурированном формате (например, JSON, CSV или в базу данных).
  • Сделать решение устойчивым к изменениям в структуре страниц (по возможности).

Требования к реализации

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

Результат работы

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

Консультант по телефону для клиентов

Требуется коммуникабельный специалист для проведения коротких консультационных звонков. Вам предстоит отвечать на вопросы клиентов, разъяснять непонятные моменты. График работы гибкий и согласуется с вами.