Настраиваемый XML-парсер «Сонотеки»

Задача:

Создать настраиваемый XML парсер.

Фирмы-поставщики присылают списки товаров со свойствами, ценами и фотографиями в формате XML. Сайту требуется обрабатывать эти файлы и сохранять данные с учетом установленных условий. Для этой цели понадобилось создать парсер с настраиваемым запуском, который способен не обновлять свойства товаров или деактивировать их.

Решение:

Для создания парсера хватило стандартных средств PHP. Администратор работает с двумя страницами — экраном настроек и панелью ручного запуска.

Настройки парсера

Помимо списка предназначенных для обработки файлов на странице настроек можно изменять:

  • интервал запуска агента
  • длительность шага обработки
  • деактивацию новых элементов
  • обновление цен, характеристик, описания, картинок и отзывов
  • email, на который будет отправляться журнал результатов работы парсера

В списке файлов добавляются, удаляются и деактивируются файлы, участвующие в выгрузке.

Настройки парсера

Администратор может задать на сервере время и интервал для автоматического начала парсинга или запустить процесс вручную. Прогресс-бар в процентах показывает стадию парсинга по отдельным файлам и общему числу товаров. Приостановить процесс можно нажатием на «паузу».

Особенности функционала

XSD-валидатор допускает к обработке только файлы с правильной структурой, о некорректных файлах инструмент сообщит на указанную в настройках почту.

Для снижения нагрузки на сайт, значения системных свойств рассчитываются во время парсинга. Например, из показателей «Цены» и «Старой цены» парсер сразу выводит размер скидки в процентах. Алгоритм ведет журнал импорта, сохраняя в базу источник товаров и отзывов.

Поддерживаемость

Если в XML-файл добавить новые свойства, они автоматически появятся на сайте и включатся в процесс. Изменение или добавление свойств в отдельную таблицу или инфоблок не вызовет конфликтов в функционале.

Результат:

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

На данном сайте собираются метаданные пользователя (cookie, данные об IP-адресе и местоположении) для функционирования сайта. Если Вы не хотите чтобы эти данные обрабатывались, то должны покинуть сайт

Заявка
на сотрудничество

Как вас зовут? Заполните это поле
Адрес электронной почты Неверный формат почты
Телефон для связи Заполните это поле
Нажимая на кнопку «Отправить заявку»,
я даю согласие на обработку персональных данных