Техническое задание на разработку парсера:
Данный парсер представляет собой скрипт, считывающий ряд информационных данных с сайта
и размещающий их на сайте
в инфоблоках для дальнейшего отображения на сайте в соответствующем виде.
Парсер находится по адресу
Необходимая информация парсится в рамках отельной базы сайта vanbork.ru
Источник информации расположен на типовой странице с описанием отеля, например
Этот отель на нашем сайте (ЦО):
Необходимо спарсить (Процесс А):
1. Спецпредложения. Находятся в блоке «Бонусы от отеля» название, период поездки и само описание спецпредложения, зашитое под кат. Переносится в соответствующий блок «Спецпредложения» на странице этого же отеля на сайте
2. Стоимость проживания, со всеми периодами, перечисленными в выпадающем списке. Перенести в соответствующий блок на странице этого же отеля на сайте
3. Доплаты за питание. Доплаты за проживание. Расположены под блоком стоимости проживания. На сайте
структура подачи материала реализована так же.
Дополнительные требования к реализации:
• Никакая другая информация парситься не должна.
• Парсер должен запускаться раз в месяц ночью часа в 2 ночи
• Парсятся не все отели с
, а лишь ограниченный набор.
• По завершении парсинга на почту arseniy.pivikov@gmail.com должен приходить автоматический отчет о том, что процесс прошел успешно. Если в ходе парсинга возникла ошибка, в отчете должно быть об этом сказано.
• Парсер должен понимать, что если появились новые отели в заданных регионах, то необходимо (Процесс Б):
1) добавить его как новый элемент в инфоблок.
2) спарсить все по отелю включая описания и фотографии (напишу подробнее чуть позже)
3) больше не делать пункт 2, а выполнять над этим отелем только Процесс А.
• Процесс А выполняется путем предварительной очистки существующей информации. Либо парсер должен проверять если данные спецы/цены есть на ВанБорк, оставлять их на ЦО. Если уже нет, то удалять. Выберите алгоритм, менее грузящий систему.
• ВанБорк может периодически ложиться во время парсинга (проверено на практике). Должен быть реализован подход при котором парсер возобнавляет работу с последнего успешно спарсеного отеля спустя некоторое время.