Парсинг цен с сайтов конкурентов для 1С-Битрикс

Наша компания занимается разработкой, поддержкой и обслуживанием решений на Битрикс и Битрикс24 любой сложности. От простых одностраничных сайтов до сложных интернет магазинов, CRM систем с интеграцией 1С и телефонии. Опыт разработчиков подтвержден сертификатами от вендора.
Услуги, которые мы предлагаем
Показано 1 из 1Все 1626 услуг
Парсинг цен с сайтов конкурентов для 1С-Битрикс
Средний
~1-2 недели
Часто задаваемые вопросы

Наши компетенции:

Этапы разработки

Последние работы

  • image_website-b2b-advance_0.webp
    Разработка сайта компании B2B ADVANCE
    1330
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Разработка веб-сайта для компании ФИКСПЕР
    924
  • image_bitrix-bitrix-24-1c_development_of_an_online_appointment_booking_widget_for_a_medical_center_594_0.webp
    Разработка на базе Битрикс, Битрикс24, 1С для компании Development of an Online Appointment Booking Widget for a Medical Center
    672
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Разработка на базе 1С Предприятие для компании МИРСАНБЕЛ
    815
  • image_crm_dolbimby_434_0.webp
    Разработка сайта на CRM Битрикс24 для компании DOLBIMBY
    714
  • image_crm_technotorgcomplex_453_0.webp
    Разработка на базе Битрикс24 для компании ТЕХНОТОРГКОМПЛЕКС
    1051

Ценовой мониторинг конкурентов: от ручного сбора к автоматизации

Вы теряете прибыль, когда конкуренты меняют цены, а вы узнаёте об этом через неделю. Ручной мониторинг — это не только часы работы менеджеров, но и упущенная выгода. Парсинг цен для 1С-Битрикс — одна из немногих автоматизаций, которая даёт прямой измеримый эффект на маржинальность. Правильно настроенный парсер цен решает эту задачу с точностью до нескольких часов. Наш опыт — 10+ лет в Битрикс, более 50 проектов по мониторингу конкурентов. Экономия бюджета на мониторинг до 30% и времени — до 10 часов в неделю.

Как работает парсинг цен?

Парсинг цен для интернет-магазина на 1С-Битрикс — это не просто сбор чисел. Это полноценный инструмент конкурентной разведки, который требует грамотной архитектуры: идентификация товаров, хранение истории, автоматическая реакция. Ниже разберём ключевые технические сложности и решения.

Отличия парсинга цен от парсинга каталога

Ключевое отличие — частота и объём. Каталог парсится редко (раз в неделю или при запуске). Цены нужно собирать каждые 2–6 часов на живой системе с тысячами позиций. Например, для каталога в 10 000 товаров парсинг каждые 2 часа означает 120 запросов в час. Это означает:

  • Нет времени на headless-браузер для каждого товара — нужны быстрые HTTP-запросы.
  • Идентификация товара критична — один и тот же товар на разных сайтах имеет разные URL.
  • Хранение истории цен обязательно — тренд важнее текущего значения.

Как идентифицировать товар на сайте конкурента?

Самая сложная техническая задача — связать свой SKU с карточкой конкурента. Три подхода:

По артикулу/EAN: надёжнее всего. Ищем артикул производителя в тексте страницы конкурента. Работает, когда оба продают одни и те же branded-товары.

По названию: fuzzy-matching через similar_text() или Levenshtein. Требует ручной верификации первого запуска — много ложных совпадений. Подробнее о методе можно узнать из статьи про Levenshtein distance.

По URL из внешних баз: прайс-агрегаторы (Яндекс.Маркет, Price.ru) часто дают прямые ссылки на конкурентов с привязкой к модели. Парсим агрегатор как посредника.

Результат маппинга хранится в Highload-блоке CompetitorLinks:

UF_OWN_PRODUCT_ID → ID нашего элемента инфоблока
UF_COMPETITOR_URL → URL карточки конкурента
UF_COMPETITOR_NAME → идентификатор конкурента
UF_LAST_PRICE → последняя собранная цена
UF_LAST_CHECK → дата последней проверки
Архитектура Highload-блока CompetitorLinks Highload-блоки Битрикс оптимизированы для хранения больших объёмов данных с быстрым доступом по ключу. Для каждого товара создаётся запись с полями, указанными выше. Индекс по UF_OWN_PRODUCT_ID ускоряет выборку. При каждом обновлении цены мы пишем новую запись в историю, а текущее значение обновляем в Highload-блоке. Это позволяет строить графики без нагрузки на основную БД.

Хранение истории и анализ динамики цен

Текущую цену в Highload-блоке хранить можно, но историю — только в отдельной таблице. Создаём кастомную таблицу competitor_price_history:

CREATE TABLE competitor_price_history (
    id SERIAL PRIMARY KEY,
    own_product_id INT NOT NULL,
    competitor_name VARCHAR(100),
    price DECIMAL(12,2),
    currency CHAR(3),
    in_stock BOOLEAN,
    parsed_at TIMESTAMP DEFAULT NOW()
);
CREATE INDEX idx_cph_product ON competitor_price_history(own_product_id, parsed_at DESC);

Это позволяет строить графики динамики цен и находить паттерны (например, конкурент снижает цены каждую пятницу).

Автоматическая реакция на изменения цен

После сбора данных — бизнес-логика. Варианты реакции:

Уведомление менеджера — через \Bitrix\Main\Mail\Event::send() при отклонении цены конкурента от нашей более чем на X%.

Автоматическое изменение цены — через CCatalogProduct::Update() с новым значением в b_catalog_price. Требует согласования правил с бизнесом (минимальная маржа, запрет опускаться ниже себестоимости).

Флаг для переоценки — добавляем свойство NEEDS_REPRICING = Y к элементу инфоблока, менеджер видит список в административной части. Настраиваем автоматическое уведомление при отклонении.

Кейс: мониторинг 5 конкурентов в нише автозапчастей

Из нашей практики: Задача — 4200 SKU, 5 конкурентов, обновление каждые 4 часа, автоматическое уведомление при разнице > 7%.

Проблемы при реализации:

  • Два конкурента использовали Cloudflare — пришлось добавить ротацию прокси и случайные задержки.
  • Один сайт рендерил цены через JS — для него отдельный воркер на Puppeteer с пулом в 3 инстанса.
  • Артикулы у одного конкурента хранились в нестандартном атрибуте data-sku.

Итог: система собирает ~21 000 ценовых точек за цикл (4200 × 5), укладываясь в окно 4 часов. Менеджер получает дайджест отклонений утром и вечером. Экономия времени — до 10 часов в неделю, экономия бюджета на мониторинг — 25%.

Настройка парсинга за 5 шагов

  1. Анализ конкурентов: определяем список сайтов, их защиту и структуру страниц.
  2. Выбор метода идентификации: артикул, fuzzy-matching или внешние базы.
  3. Разработка парсеров: пишем модули для каждого конкурента с учётом их особенностей.
  4. Хранение данных: настраиваем Highload-блок и таблицу истории.
  5. Автоматизация реакций: подключаем уведомления или авторепрайсинг.

Каждый шаг может быть адаптирован под ваш ассортимент. Закажите консультацию по парсингу цен — мы проанализируем ваших конкурентов и предложим архитектуру решения.

Объем работ

Компонент Описание
Анализ Изучение сайтов конкурентов, определение защит, выбор стратегии парсинга
Идентификация Маппинг SKU вашего каталога с карточками конкурентов
Разработка Парсеры, хранение истории, механизмы автоматической реакции
Интеграция Связка с 1С через CommerceML, настройка уведомлений (Telegram, email)
Поддержка Мониторинг работоспособности, обновление селекторов при смене вёрстки

Таймлайн работ

Этап Срок
Анализ сайтов конкурентов, выбор метода идентификации 4–8 часов
Разработка парсера цен (1 конкурент) 1–2 дня
Маппинг SKU между своим каталогом и конкурентами 1–2 дня
Хранение истории, аналитические запросы 1 день
Настройка уведомлений / авторепрайсинга 4–8 часов
Тестирование, отладка прокси и задержек 1 день

Итого для 5 конкурентов: 6–10 рабочих дней. Свяжитесь с нами для оценки вашего проекта — подберём оптимальное решение под ключ.