Техническое задание: Парсинг изображений отелей
Цель проекта
Автоматизировать сбор фотографий отелей для пополнения или обновления каталога.
Исходные данные
- Имеется 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).
- Архив должен быть готов к передаче заказчику.
Ключевые требования к реализации
- Надежность: Скрипт должен корректно обрабатывать большое количество ссылок, учитывать возможные ошибки загрузки страниц или отсутствия изображений.
- Четкая структура: Именование файлов и организация внутри архива должны строго соответствовать ТЗ.
- Эффективность: Желательна оптимизация скорости работы при обработке такого объема данных.
Результат работы
Исполнитель предоставляет заказчику один архивный файл, содержащий все скачанные изображения, названные и отсортированные согласно требованиям.