Парсинг данных из Яндекс.Маркет для 1С-Битрикс

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

Парсинг данных из Яндекс.Маркет для 1С-Битрикс

Яндекс.Маркет не предоставляет публичного API для массовой выгрузки карточек товаров. Партнёрское API (Content API) даёт доступ только продавцам к собственным данным. Значит, для наполнения каталога 1С-Битрикс данными из Маркета остаётся парсинг — с его техническими ограничениями, правовыми рисками и инженерными задачами.

Что именно парсится

Карточка товара на Яндекс.Маркете содержит:

  • Название и описание — текст, часто сгенерированный из характеристик.
  • Характеристики — структурированные пары «ключ-значение» (вес, размеры, материал).
  • Цены и предложения продавцов — динамические данные, обновляемые в реальном времени.
  • Изображения — от 1 до 15 фото разного разрешения.
  • Отзывы и рейтинг — пользовательский контент.
  • Категория — дерево рубрик Маркета, не совпадающее со структурой вашего каталога.

Для наполнения каталога 1С-Битрикс обычно нужны название, описание, характеристики и изображения. Цены парсить смысла мало — они меняются несколько раз в день.

Техническая реализация

Яндекс.Маркет — одностраничное приложение. HTML-страница содержит минимум разметки, основные данные подгружаются через внутренние API-вызовы и рендерятся на клиенте. Это означает, что обычный HTTP-запрос через cURL вернёт пустую оболочку.

Два подхода к парсингу:

1. Headless-браузер (Puppeteer, Playwright). Рендерит JavaScript, дожидается загрузки данных, извлекает DOM. Надёжно, но медленно — 3–5 секунд на страницу. Для каталога в 10 000 товаров это 8–14 часов непрерывного парсинга.

2. Перехват внутренних API. Маркет подгружает данные через XHR-запросы к внутренним эндпоинтам. Если воспроизвести эти запросы с нужными заголовками и cookies — получаете JSON без рендеринга страницы. Быстрее в 10–20 раз, но формат ответа меняется без предупреждения.

На практике используется комбинация: headless-браузер для первичного анализа и получения сессионных токенов, прямые запросы к API — для массовой выгрузки.

Обход защиты

Яндекс активно блокирует автоматические запросы:

  • SmartCaptcha — появляется после 50–200 запросов с одного IP.
  • Fingerprinting — анализ TLS-отпечатка, заголовков, поведенческих паттернов.
  • Rate limiting — жёсткие лимиты на частоту запросов.

Для стабильного парсинга необходимы:

  • Ротация прокси-серверов (резидентные прокси, не датацентровые).
  • Рандомизация задержек между запросами (2–10 секунд).
  • Ротация User-Agent и других заголовков.
  • Обработка капчи — через сервисы распознавания или ручную очередь.

Без ротации прокси парсинг Маркета не работает. Один IP блокируется в течение часа.

Маппинг данных в инфоблок Битрикс

Структура данных Маркета не совпадает со структурой вашего каталога. Нужен слой трансформации:

Яндекс.Маркет Инфоблок Битрикс Примечание
title NAME Обрезка до 255 символов
description DETAIL_TEXT HTML → очистка тегов или сохранение
specs[] PROPERTY_* Маппинг по названию характеристики
images[] DETAIL_PICTURE + MORE_PHOTO Скачивание и сохранение локально
categoryPath IBLOCK_SECTION_ID Маппинг через таблицу соответствий
modelId XML_ID Уникальный идентификатор для дедупликации

Характеристики Маркета — плоский список. Свойства инфоблока — типизированные поля. Нужна таблица маппинга: «Вес, г» → PROPERTY_WEIGHT (тип: число), «Цвет» → PROPERTY_COLOR (тип: список, поиск по значению).

Загрузка в Битрикс

Рекомендуемый путь — промежуточное хранилище. Парсер складывает данные в отдельную таблицу или JSON-файлы. Отдельный скрипт читает промежуточные данные и импортирует через API инфоблоков:

CIBlockElement::Add($arFields);
CIBlockElement::SetPropertyValuesEx($elementId, $iblockId, $propertyValues);

Прямой импорт из парсера опасен: если парсер сломался на середине — в каталоге останутся частично заполненные карточки.

Для каталогов свыше 5 000 товаров используйте \Bitrix\Iblock\ElementTable::add() — D7 API работает быстрее старого API и поддерживает батчевые операции.

Поддержание актуальности

Первичный импорт — половина задачи. Данные на Маркете обновляются: меняются характеристики, добавляются фото, товары снимаются с продажи.

Стратегии обновления:

  • Полный реимпорт — пропарсить весь каталог заново, сравнить с текущими данными, обновить изменения. Подходит для каталогов до 5 000 позиций.
  • Инкрементальный — парсить только категории, где замечены изменения (по RSS-фиду или дате обновления). Сложнее в реализации, но экономит ресурсы.
  • По триггеру — обновлять конкретный товар по запросу менеджера через интерфейс админки.
Размер каталога Стратегия обновления Частота Ориентировочное время
До 1 000 товаров Полный реимпорт Еженедельно 2–4 часа
1 000–10 000 Инкрементальный Ежедневно 4–8 часов
Свыше 10 000 Инкрементальный + триггерный По расписанию 8–24 часа

Правовой аспект

Парсинг Яндекс.Маркет нарушает пользовательское соглашение сервиса. Яндекс может заблокировать IP, аккаунт и теоретически предъявить претензии. На практике претензии к парсерам предъявляются редко, но использовать спарсенные описания и фото «как есть» — риск. Рекомендуется рерайт описаний и проверка лицензий на изображения.