UncleSamUncleSam
← ВСЕ МОДУЛИ
UncleSamUNCLESAM
OC2.3 / OC3 / OC4
05
uncle_parser

Competitor Parser

Автоматический импорт товаров с любых сайтов в ваш интернет-магазин. Настроили один раз — модуль сам парсит по расписанию, скачивает фото, создаёт категории и обновляет цены.

Competitor Parser — позволяет автоматически импортировать товары и категории с любых сторонних сайтов прямо в ваш интернет-магазин. Настраиваете один раз — дальше всё работает по расписанию без вашего участия.

Competitor Parser
Competitor Parser
Competitor Parser
Competitor Parser
▸ Что парсит
Основные поля — название, описание (HTML сохраняется), модель, артикул (SKU), цена, акционная цена, количество на складе.

Изображения — главное фото и вся галерея; изображения внутри HTML-описания тоже скачиваются и заменяются на локальные ссылки; сжатие и ресайз при скачивании; поддержка WebP с автоконвертацией в JPG.

Атрибуты — парсит пары название/значение из таблиц характеристик; поддержка группировки по разделам («Память», «Камера», «Питание») как отдельных групп атрибутов.

Опции — варианты типа Размер, Цвет и любые другие; несколько слотов опций для сайтов с разной вёрсткой; к каждому значению можно привязать цену и количество.

Категории — парсит хлебные крошки; два режима: все товары в одну категорию или автоматическое воссоздание иерархии. Категории создаются в OpenCart автоматически.
▸ Источники данных
Link — страница каталога с пагинацией, парсер сам переходит по страницам.
Sitemap — XML карта сайта, берёт список URL товаров напрямую.
Feed / RSS / Atom — любой XML-фид с товарами.

Пагинация поддерживается двумя способами: CSS/XPath-селектор кнопки «Следующая страница» или шаблон URL (?page={n}).
▸ Режимы импорта
Только новые — существующие товары не трогаются
Только обновление — обновляет существующие, новые не создаёт
Новые + обновление — создаёт новые и обновляет существующие
Полная синхронизация — дополнительно удаляет из магазина товары, которых больше нет в источнике
▸ Фоновая обработка и расписание
Парсинг выполняется через cron-запрос — без ограничений времени выполнения, без таймаутов. Каждый профиль имеет свою cron-ссылку, просто добавьте её в планировщик задач сервера. Расписание настраивается прямо в профиле (cron expression).

Между запросами к сайту-источнику пауза 0.5 секунды, браузерные заголовки и поддержка cookie — для обхода базовой защиты от ботов.
▸ Реестр и тестирование
Умный матчинг — модуль ведёт реестр всех спарсенных товаров и категорий. При повторном запуске не создаёт дубли: ищет существующий товар по URL, затем по артикулу, затем по названию. Если URL изменился — реестр обновляется автоматически.

Тестирование без риска:
Тест страницы категории — показывает сколько товаров найдено и примеры ссылок
Тест товара — парсит одну страницу и показывает все найденные поля; ничего не сохраняется в БД
Диагностика — по каждому полю видно: «найден» / «не найден» / «пустой» / «селектор не указан»
▸ Сервисные инструменты
Управление SEO URL — сканирует ЧПУ-адреса магазина, находит товары и категории без slug, заполняет недостающие, исправляет дублирующиеся.
Очистка изображений — находит файлы, которые больше не используются ни в одном товаре, показывает сколько места освободится и удаляет одной кнопкой.
Очистка реестра — удаляет записи, у которых товар или категория уже удалены через админку.
Отключение неполных товаров — находит и отключает товары без фото или с ценой 0.
▸ Интерфейс и требования
Весь модуль управляется из одной страницы в админке OpenCart. Поддержка тёмного режима. Лог в реальном времени — видно что происходит прямо сейчас. Несколько профилей — каждый со своими настройками, расписанием и источником. Реестр категорий и товаров с пагинацией и быстрыми ссылками на редактирование.

Требования: расширение cURL, Cron на сервере, PHP расширения: curl, gd, dom.
2.6.02026-08-10
Новые возможности:
- Поддержка OpenCart 4 — модуль теперь работает и на актуальной OpenCart 4, с той же логикой парсинга, что и в версии для OpenCart 2.3/3.x и ocStore
- Быстрый обход категорий — отдельный режим: сначала строится всё дерево категорий донора без парсинга товаров, затем автоматически ставится в очередь догрузка товаров по каждой конечной категории
- Точечный перепарсинг категории — можно перепарсить одну конкретную категорию из уже собранного дерева, не перезапуская парсинг всего профиля заново
- Массовое удаление и обслуживание каталога — пакетное удаление товаров и категорий по всему профилю или по конкретной категории; отдельный инструмент «Пустые категории»; повторные клики по кнопке удаления больше не создают задачи-дубли
- Вкладка «Очередь задач» — все текущие фоновые задачи по всем профилям в одном месте: статус, прогресс, время создания и запуска; точечная остановка любой задачи и очистка истории завершённых
- Экспорт и импорт профилей — настройки профиля выгружаются в файл и загружаются на другом магазине или сервере
- Мультиязычность из коробки — спарсенный контент автоматически сохраняется сразу во все нужные языки магазина, набор языков настраивается по каждому профилю отдельно
- Гибкая работа с брендами — бренд определяется автоматически по данным донора или назначается дефолтный для профиля; можно запретить трогать бренд, назначенный вручную в OpenCart, при повторном обновлении товара

Исправлено:
- Обход каталога донора теперь корректно обрабатывает случаи, когда список товаров или список подкатегорий сам разбит на несколько страниц, и не уходит в зацикливание, если донор отдаёт «бесконечную» пагинацию
- Из описания товара и дополнительных HTML-блоков описания вычищаются ссылки и служебные атрибуты (id), которые раньше копировались с сайта-донора как есть
- Обработка батча ограничена по времени — защита от таймаутов хостинга на больших каталогах
2.1.22026-07-08
Безопасность:
- Усилена защита от замены цели запроса при сборе данных с сайта-донора (проверка адреса перед запросом и на каждом переходе по редиректу, блокировка обращений к внутренним/локальным адресам).
- Добавлена ​​авторизация для автоматического запуска заданий по расписанию (cron) — запуск посторонним запросом больше невозможен.
- Проверка SSL-сертификата сайта-донора включена по умолчанию; для отдельных профилей ее можно отключить вручную, если это необходимо.
- ограниченный доступ к разделам и действиям модуля для пользователей с недостаточным правом.
- Устранена возможность выполнения постороннего кода через просмотр описания товара.

Производительность:
- Ускорена загрузка изображений товаров при парсинге за счет параллельной загрузки вместо последовательной.

Исправлено:
- Исправлена ​​ошибка, из-за которой обработка карты сайта (sitemap), содержащая ссылки на другие карты сайта (sitemap index), могла прерываться с ошибкой.
- Исправлены и переведены тексты интерфейса модуля на все поддерживаемые языки.
2.1.12026-06-11
Безопасность:
- cron-endpoint защищен токеном — анонимный запуск парсинга заблокирован
- защита от SSRF в загрузчике изображений — блокировка частных IP-диапазонов и опасных протоколов
- проверка прав доступа (modify) на всех мутирующих действиях админ-контроллера

Исправлено:
- дублирование товаров, созданных вне модуля парсинга

Новые возможности:
- AJAX-пагинация реестра, таблицы Категории и Товары грузятся через AJAX, по 50 записей, lazy-load при первом открытии вкладки
- Управление SEO URL
- Управление SEO URL (сервисная вкладка), сканирование, заполнение недостающих, исправление дублей; три режима суффикса: number / language / duplicate
- Очистка изображений (сервисная вкладка), сканирование неиспользуемых файлов по папкам, удаление с защитой изображений из описаний
- Очистка реестра (сервисная вкладка), удаление записей у которых OC-объект уже удалён
2.1.02026-05-18
Новые возможности:
- Режим полной синхронизации, удаляет из OC товары которых больше нет в источнике
- Опции товара, парсинг вариантов (размер, цвет и др.), несколько слотов опций, цена и количество на вариант
- Сгруппированные атрибуты, поддержка разделов характеристик («Память», «Камера» и т.д.), настраиваемое название группы по умолчанию
- Шаблонная пагинация, поле pagination_url_template с плейсхолдером {n}, авто-определение текущего номера страницы; поддержка полного URL, path и query-параметра
- Вырезание слов, strip_words удаление заданных фраз из названия, модели, артикула и описания; для HTML обходит только текстовые узлы
- Фоллбек хлебных крошек, если у товара нет крошек, используются крошки страницы-источника (запрашиваются однократно перед обработкой батча)
- Скачивание изображений из описания, теги в HTML описании скачиваются, сохраняются локально, src в описании заменяется на локальный путь