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

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

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

Етапи розробки

Останні роботи

  • image_website-b2b-advance_0.png
    Розробка сайту компанії B2B ADVANCE
    1262
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Розробка веб-сайту для компанії ФІКСПЕР
    851
  • 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
    585
  • 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, аккаунт та теоретично висунути претензії. На практиці претензії до парсерів висуваються рідко, але використовувати спарсені описи та фото «як є» — ризик. Рекомендується рерайт описів та перевірка ліцензій на зображення.