Техническое задание: Парсинг изображений отелей

Цель проекта

Автоматизировать сбор фотографий отелей для пополнения или обновления каталога.

Исходные данные

  • Имеется 126 текстовых файлов (.txt), содержащих в сумме 218 000 уникальных URL-адресов.
  • Каждая ссылка ведет на страницу отеля и имеет формат: https://[домен]/?id=%ID% (например, https://[домен]/?id=135287).
  • На странице отеля представлена галерея изображений.

Основные задачи

1. Парсинг изображений

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

2. Именование и сохранение файлов

  • Каждое скачанное изображение должно быть названо по шаблону: %ID%-N.jpg
  • %ID% - уникальный идентификатор отеля, взятый из параметра запроса в URL.
  • N - порядковый номер изображения для данного отеля (1, 2, 3, 4, 5).
  • Пример для ID=135287: 135287-1.jpg, 135287-2.jpg и т.д.

3. Формат результата

  • Все обработанные изображения должны быть упакованы в единый архив (формат .zip или .rar).
  • Архив должен быть готов к передаче заказчику.

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

  • Надежность: Скрипт должен корректно обрабатывать большое количество ссылок, учитывать возможные ошибки загрузки страниц или отсутствия изображений.
  • Четкая структура: Именование файлов и организация внутри архива должны строго соответствовать ТЗ.
  • Эффективность: Желательна оптимизация скорости работы при обработке такого объема данных.

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

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