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

Цель проекта

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

Ключевые требования

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

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

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