Кейс: автоматическая обработка прайсов поставщиков

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Загрузка...
Задача:
В интернет-магазине ежедневно обновлять остатки и цены с прайсов поставщиков.

Условия:
Есть 5 поставщиков. Каждый поставщик предоставляет онлайн доступ к своему прайсу. У кого-то это ссылка на XML, у кого-то папка на Яндекс.Диске.

Ограничения:
Интернет-магазин на Инсейлс. Платформа принимает файлы форматов: CSV/XLS/XLSX и YML.

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

Решение

1. Приводим прайсы к единому виду.

Написали программу отдельно для каждого поставщика:
- Поставщики № 1, 2 и 3 предоставляют прайс по ссылке в XML.
- Поставщик № 4 предоставляет прайс по ссылке в XLS.
- Поставщик № 5 предоставляет доступ к папке на Яндекс.Диске.

С первыми четырьмя поставщиками схема работы одинаковая: скрипт скачивает прайс по прямой ссылке, парсит данные и сохраняет в CSV.

С последним поставщиком пришлось настроить парсер для работы с Яндекс.Диском. Сначала скрипт получает список всех файлов в папке, ищет среди них прайс и получает на него ссылку. Далее по готовому сценарию — скачиваем прайс по прямой ссылке и парсим данные.

2. Настраиваем сервер

Для автоматической и круглосуточной работы скриптов нужен сервер.
- Арендовали сервер на Бегете.
- Сделали на сайте поддомен update.site.ru и направили его на сервер.
- Настроили сервер по инструкции.
- Создали на сервере проект, установили необходимые библиотеки для работы скриптов. Скопировали туда скрипты для всех поставщиков.
- Настроили в cron запуск скриптов по расписанию.

3. Настраиваем импорт в Инсейлс

В интернет-магазине настроили импорт из файлов CSV по ссылке по расписанию.
Для каждого прайса сохранили настройки и время импорта.

Профит!

Поделиться
Отправить
Вотсапнуть