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

Наша компания занимается разработкой, поддержкой и обслуживанием решений на Битрикс и Битрикс24 любой сложности. От простых одностраничных сайтов до сложных интернет магазинов, CRM систем с интеграцией 1С и телефонии. Опыт разработчиков подтвержден сертификатами от вендора.
Предлагаемые услуги
Показано 1 из 1 услугВсе 1626 услуг
Парсинг товаров с сайтов конкурентов для 1С-Битрикс
Средняя
~1-2 недели
Часто задаваемые вопросы
Наши компетенции:
Этапы разработки
Последние работы
  • image_website-b2b-advance_0.png
    Разработка сайта компании B2B ADVANCE
    1173
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Разработка веб-сайта для компании ФИКСПЕР
    811
  • 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
    564
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Разработка на базе 1С Предприятие для компании МИРСАНБЕЛ
    745
  • image_crm_dolbimby_434_0.webp
    Разработка сайта на CRM Битрикс24 для компании DOLBIMBY
    655
  • image_crm_technotorgcomplex_453_0.webp
    Разработка на базе Битрикс24 для компании ТЕХНОТОРГКОМПЛЕКС
    976

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

Интернет-магазин без актуальных данных о конкурентах теряет позиции по цене и ассортименту. Ручной мониторинг 500+ товарных позиций нерентабелен. Задача решается парсером, который собирает товарные данные с сайтов конкурентов и загружает их в инфоблок Битрикса для последующего анализа или автоматического реагирования.

Архитектура решения

Парсер конкурентов — это отдельный модуль, который не трогает основной каталог напрямую. Типовая схема:

  1. Сборщик — PHP/Python-скрипт с Guzzle или Symfony HttpClient, обходит страницы конкурента
  2. Промежуточное хранилище — отдельный инфоблок COMPETITORS_CATALOG или таблица в БД
  3. Аналитическая прослойка — сравнение с b_catalog_price своего магазина
  4. Триггер действий — изменение цены через CCatalogProduct::Update() или уведомление менеджеру

Хранить данные конкурентов прямо в основном каталоге — плохая практика: засоряет b_iblock_element, ломает индексы поиска.

Технические сложности и как их обходить

Защита от парсинга — главное препятствие. Крупные магазины используют Cloudflare, динамическую подгрузку через JS (React/Vue SPA) и капчи. Против статических сайтов работает простой curl с ротацией User-Agent. Против JS-рендеринга нужен headless-браузер: Puppeteer через Node.js или Playwright.

Стек для JS-сайтов:

Playwright → stdout JSON → PHP читает через exec() → CIBlockElement::Add()

Нестабильная структура HTML — конкурент поменял вёрстку, парсер упал. Решение: CSS-селекторы вместо XPath там, где структура плоская, и обязательный мониторинг с алертом при нулевом результате выборки.

Блокировка IP — ротация через прокси-пул (residential proxies). Минимум 10–15 IP в пуле для каталога 1000+ позиций. Частота запросов: не чаще 1 запроса в 3–5 секунд на домен.

Что собираем

Типовой набор данных для парсинга конкурентов:

  • Название товара и артикул
  • Текущая цена (основная + скидочная)
  • Наличие / количество
  • Ссылка на товар-источник
  • Дата последнего обновления

В Битриксе это мапируется на свойства инфоблока. Рекомендую добавить свойство COMPETITOR_URL типа «Строка» и COMPETITOR_PRICE_DATE типа «Дата» — для отслеживания актуальности данных.

Кейс: магазин электроники, 3 конкурента

Задача: отслеживать цены 2400 SKU у трёх конкурентов, обновлять данные раз в 6 часов.

Реализация:

  • Парсер на PHP + Guzzle для двух конкурентов со статическим HTML
  • Puppeteer для третьего (JS-SPA на Vue)
  • Cron каждые 6 часов, поочерёдный запуск по конкурентам с паузой 2 часа между ними
  • Инфоблок COMPETITORS_PRICES с привязкой к основному каталогу через XML_ID
  • Агент Битрикса запускает сравнение и формирует отчёт в Highload-блок

Результат: время реакции на изменение цены конкурента — 6 часов вместо ручного мониторинга раз в неделю. Менеджер получает сводку отклонений > 5% на email через модуль \Bitrix\Main\Mail\Event.

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

Этап Срок
Анализ сайтов конкурентов, выбор технологии 4–8 часов
Разработка парсера (1 конкурент, статический HTML) 1–2 дня
Разработка парсера с headless-браузером 2–3 дня
Интеграция с инфоблоком Битрикса 1 день
Настройка cron, мониторинг, алерты 4–6 часов
Тестирование на реальных данных 1 день

Итого на 3 конкурентов с разными технологиями — 5–8 рабочих дней. Поддержка парсера после запуска обязательна: верстка конкурентов меняется.