Автоматизированное наполнение и синхронизация каталога WooCommerce
Автоматизированное наполнение и синхронизация каталога WooCommerce
Описание:
Разработана система автоматического импорта, обновления и синхронизации каталога интернет-магазина на WordPress (WooCommerce) с использованием данных от нескольких поставщиков. Решение охватывает как открытые источники (CSV/XML), так и парсинг защищённого сайта с обходом Cloudflare.
Технологии:
WordPress, WooCommerce, Polylang
PHP, WooCommerce REST API, MySQL
Python (Selenium + undetected-chromedriver)
CRON, Bash
Форматы данных: CSV, XML, JSON, изображения (JPG/PNG)
Выполненные задачи:
Импорт прайсов
Автоматическая обработка данных из файлов поставщиков (CSV, XML).
Извлечение артикулов, названий, описаний, остатков, цен и ссылок на изображения.
Поддержка как розничных, так и оптовых цен.
Возможность редактирования цен, как отдельных так и всех, в зависимости от цены поставщика.
Логика обработки и обновления
Сопоставление товаров по артикулу.
Создание новых товаров и обновление существующих.
Генерация атрибутов, категорий и вариаций.
Контроль статуса публикации, видимости и остатков.
Парсинг защищённого сайта
Python-скрипт с Selenium и undetected-chromedriver.
Обход защиты Cloudflare.
Сбор актуальных данных в реальном времени.
Сохранение в формат CSV для дальнейшего импорта в WooCommerce.
Изображения
Проверка валидности ссылок, скачивание и оптимизация изображений.
Привязка изображений к товарам по артикулу.
Исключение битых и дублирующихся ссылок.
Ленивый парсинг изображений, для создания минимальной нагрузки не сервер (по просьбе поставщика)
Автоматизация
Все процессы автоматизированы через планировщик задач (CRON).
Поддержка ручного и автоматического запуска.
Подробное логирование каждого этапа обработки.
Импорт может выполняться несколько раз в день с минимальной нагрузкой на сервер
Мультиязычность
Поддержка четырёх языков через Polylang.
Автоматическое дублирование товаров с синхронизацией изображений, цен и остатков.
Чёткая связь между переводами одного и того же товара.
Результат:
В системе обрабатывается более 10 000 уникальных товаров.
Общее количество записей в WooCommerce — более 40 000 (с учётом переводов).
Обновление всей базы занимает короткое время благодаря оптимизированной структуре и выборочной обработке данных.
Проект стабильно работает в продакшене без необходимости ручного вмешательства.