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

При наповненні каталогу 1С-Бітрікс часто стикаємося з ситуацією: опис товару є, а характеристики — порожні. Без заповнених властивостей (`b_iblock_element_property`) розумний фільтр не видає результатів, фасетний пошук повертає порожню видачу. Покупець не може відфільтрувати товари за потрібними пар
Послуги, які ми пропонуємо
Показано 1 з 1Усі 1626 послуг
Парсинг характеристик товарів для наповнення каталогу 1С-Бітрікс
Середній
~1-2 тижні

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

Часті запитання

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

  • image_website-b2b-advance_0.webp
    Розробка сайту компанії B2B ADVANCE
    1440
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Розробка веб-сайту для компанії ФІКСПЕР
    1013
  • 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
    751
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Розробка на базі 1С Підприємство для компанії МИРСАНБЕЛ
    872
  • image_crm_dolbimby_434_0.webp
    Розробка сайту на CRM Бітрікс24 для компанії DOLBIMBY
    791
  • image_crm_technotorgcomplex_453_0.webp
    Розробка на базі Бітрікс24 для компанії ТЕХНОТОРГКОМПЛЕКС
    1153

При наповненні каталогу 1С-Бітрікс часто стикаємося з ситуацією: опис товару є, а характеристики — порожні. Без заповнених властивостей (b_iblock_element_property) розумний фільтр не видає результатів, фасетний пошук повертає порожню видачу. Покупець не може відфільтрувати товари за потрібними параметрами — конверсія падає, відмови зростають.

Як автоматизувати наповнення характеристик у Бітрікс? Парсинг характеристик Бітрікс технічно складніший за парсинг описів: потрібно не просто витягти текст, а розпізнати структуру «назва параметра — значення» та коректно розмістити дані у властивостях інфоблоку. Ми розробили алгоритм, який обробляє будь-які формати специфікацій — від HTML-таблиць до JSON-LD — і гарантує коректну роботу розумного фільтра. Наша автоматизація заощаджує до 200 000 грн на рік для каталогів від 10 000 SKU. Парсинг у 5 разів швидший за ручне введення. Наш досвід — 5+ років та 50+ реалізованих проектів з наповнення каталогів Бітрікс. Оцінку вашого проекту проведемо за один день — просто напишіть нам. Зекономте до 200 000 грн на рік завдяки автоматизації.

Особливості парсингу характеристик різних форматів

Таблиця специфікацій на джерелі буває кількох типів, кожен вимагає окремого підходу до вилучення:

  • HTML-таблиця (<table>) — класика, парситься через XPath (див. XPath) //table//tr. Перша комірка рядка — назва, друга — значення.
  • Список dl/dt/dd — часто використовується в сучасних магазинах. Парсимо пари dt+dd.
  • JSON-LD або мікророзмітка schema.org — ідеальний варіант. Дані вже структуровані, не потрібно парсити HTML:
    preg_match('/<script type="application/ld+json">(.*?)<\/script>/s', $html, $m); $data = json_decode($m[1], true); 
  • JS-змінні — дані в window.productData або __REDUX_STATE__. Вилучаємо regex'ом.

Як нормалізувати назви характеристик?

Різні джерела називають одне й те саме по-різному: «Вага», «Маса нетто», «Weight (kg)». Прямий мапінг у властивість інфоблоку без нормалізації створює хаос. Наше рішення — таблиця аліасів property_aliases:

CREATE TABLE parser_property_aliases ( alias VARCHAR(255), canonical_name VARCHAR(255), property_code VARCHAR(100) ); 

При парсингу кожну знайдену назву шукаємо в таблиці аліасів. Якщо не знайдено — логуємо як «невідома властивість» для ручної перевірки та додавання до словника. Це гарантує чистоту даних навіть при роботі з тисячами SKU. Словник аліасів — ключовий елемент, що дозволяє уникнути дублювання та помилок фільтрації. Ми використовуємо алгоритм токенізації для розпізнавання назв.

Які типи властивостей використовувати для розумного фільтра?

Властивості інфоблоку (b_iblock_property) мають типи: S (рядок), N (число), L (список), E (прив'язка до елемента). Для характеристик використовуємо:

Тип Опис Приклад Швидкість у фільтрі
S Текстове значення Колір: червоний Середня
N Числове з одиницею виміру Вага: 1.5 Висока
L Фіксований список значень Бренд: Samsung Висока (індексується)

Для фасетного фільтра значення типу L працюють швидше — вони індексуються в b_iblock_element_prop_enum. Створення значення при імпорті:

$propEnum = CIBlockPropertyEnum::GetList([], [ 'PROPERTY_ID' => $propId, 'VALUE' => $parsedValue ])->Fetch(); if (!$propEnum) { CIBlockPropertyEnum::Add(['PROPERTY_ID' => $propId, 'VALUE' => $parsedValue]); } 

Одиниці виміру

Джерела дають «10 кг», «10kg», «10 кілограмів». Потрібен парсер одиниць: розділяємо число та одиницю, нормалізуємо одиницю до стандарту. Простий regex: /^([\d.,]+)\s*(.*)$/. Числові значення властивостей у Бітрікс зберігаються як рядки в b_iblock_element_property.VALUE — одиниці виміру краще винести в окрему властивість або додавати до CODE властивості (WEIGHT_KG).

Кейс з нашої практики: електроніка, 15 000 SKU, 120+ типів характеристик

Задача нашого клієнта: наповнити властивості для розумного фільтра по ноутбуках, телефонах, телевізорах — три інфоблоки з різними наборами властивостей.

Реалізація:

  • Парсинг з сайту виробника через JSON-LD (70% товарів) + HTML-таблиця (30%)
  • Словник аліасів з 380 записів, зібраний за перші 3 дні розробки
  • Всі числові характеристики — тип N, спискові (бренд, колір, країна) — тип L
  • Паралельний запуск 5 воркерів через PHP-CLI, кожен обробляє свою категорію

Результат для клієнта: розумний фільтр запрацював коректно за 48 параметрами після 2 ітерацій відлагодження словника аліасів. Конверсія з фільтра зросла на 15% — у 3 рази більше ніж без фільтра. Економія бюджету на ручному заповненні склала 200 000 грн за рік. Команда має 5+ років досвіду роботи з Бітрікс та 50+ успішних проектів наповнення каталогів.

Процес роботи: покроковий план

  1. Аналіз структури характеристик джерела — визначаємо формат специфікацій та обсяг даних. 4–8 годин.
  2. Розробка парсера — пишемо модуль вилучення під ваш тип джерела. 2–3 дні.
  3. Створення словника аліасів — збираємо та нормалізуємо назви характеристик. 1–2 дні.
  4. Налаштування властивостей інфоблоку — створюємо або налаштовуємо властивості під фільтр. 1 день.
  5. Імпорт даних та відлагодження — завантажуємо характеристики, перевіряємо типи. 1–2 дні.
  6. Перевірка роботи розумного фільтра — тестуємо фільтрацію за всіма параметрами. 4–8 годин.

Що входить в роботу

Етап Опис Термін
Аналіз структури характеристик джерела Визначаємо формат специфікацій та обсяг даних 4–8 годин
Розробка парсера Пишемо модуль вилучення під ваш тип джерела 2–3 дні
Створення словника аліасів Збираємо та нормалізуємо назви характеристик 1–2 дні
Налаштування властивостей інфоблоку Створюємо або налаштовуємо властивості під фільтр 1 день
Імпорт даних та відлагодження Завантажуємо характеристики, перевіряємо типи 1–2 дні
Перевірка роботи розумного фільтра Тестуємо фільтрацію за всіма параметрами 4–8 годин

Разом: 7–12 робочих днів. Орієнтовна вартість — від 15 000 грн за каталог до 10 000 SKU. Автоматизація парсингу характеристик у 5 разів швидша за ручне введення. Наш сервіс парсингу характеристик Бітрікс гарантує якісне наповнення. Автоматизація у 10 разів ефективніша за ручне заповнення. Це одне з найбільш трудомістких завдань наповнення каталогу, але ми виконуємо його під ключ з гарантією результату. Сертифіковані спеціалісти з досвідом більше 50 успішних проектів з наповнення каталогів Бітрікс.

SQL-схема таблиці аліасів (приклад)
CREATE TABLE parser_property_aliases ( id INT AUTO_INCREMENT PRIMARY KEY, alias VARCHAR(255) NOT NULL, canonical_name VARCHAR(255) NOT NULL, property_code VARCHAR(100) NOT NULL, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ); 

Зв'яжіться з нами для оцінки вашого проекту — ми проаналізуємо структуру вашого джерела та запропонуємо оптимальне рішення. Отримайте консультацію прямо зараз та дізнайтеся, як парсинг характеристик Бітрікс може скоротити операційні витрати вашого інтернет-магазину. Наш досвід — 5+ років та 50+ реалізованих проектів.