Видели в интернет-магазине одежду или обувь, у которой можно выбрать цвет и размер? Если да, то вы уже знаете, что такое вариативный товар. Если нет, то посмотрите на скриншот ниже:

Одноцветный свитер — классический вариативный товар. Два цвета на выбор: черный и коричневый. Четыре варианта размера: S, M, L, XL.
Переключив цвет на коричневый, получаем уже другие фото товара:

Вариативные товары удобны для пользователей, но парсить их сложнее, чем стандартные товаров из-за структуры карточки. О тонкостях парсинга вариативных товаров и поговорим, вы узнаете:
- в каких видах бывают вариативные товары на сайте-источнике
- в каких форматах получают данные вариативных товаров при импорте, как это делать
- советы при парсинге вариативных товаров
Виды вариативных товаров
Вариативность товара может по-разному оформлена на сайте-источнике, но все оформления можно разделить на 3 вида:
- Особенности: список вариантов показывает наличие разных моделей одного товара, но никак не меняется при переключении: URL, характеристики, артикул и фото не меняются.
Пример: кроссовки с выбором размера обуви.
Как парсить: собирайте данные из выпадающего списка (или другой формы). В зависимости от выходного формата множите строки или перечисляете варианты в ячейке соответствующей характеристики.

- Особенности: при переключении варианта товара URL не меняется, но меняются данные в карточке товара: артикул, цена, фото и характеристики.
Пример: шланговый противогаз ПШ-20РВ-2 с выбором комплектации.
Как парсить: в этом случае данные товара чаще представлены в виде JSON (либо JSON подгружается отдельным AJAX-запросом). Ищите в коде этот массив, анализируйте его (для анализа мы используем сервис jsoneditoronline.org) и собирайте необходимые данные. Представляйте в виде размноженных строк или через перечисления.

- Особенности: вариативность товара создают через ссылки: переключения товаров ведут на другие товары, URL меняется.
Пример: электрический полотенцесушитель.
Как парсить: собирайте товары по URL отдельно. Сохраняйте единый обобщающий идентификатор группы товаров. Идентификатор находится в коде, в наименовании или зашифрован в артикуле.

Форматы данных при импорте вариативных товаров
Выбор формата зависит от того, как мы будем использовать файл парсинга и снимать данные. Варианта три:
- Формат: представить варианты товаров в виде разных товаров.
Что делать: собирайте товары построчно.
- Формат: представить варианты в виде разных товаров с объединенным идентификатором. Пример:

Что делать: собирайте товары построчно, но добавляем один общий идентификатор.
- Формат: представить варианты товара на одной строке, как один товар с помощью перечисления вариантов в ячейке.
Что делать: собирайте все варианты товара в одну строку и записывайте их в ячейку.
Советы для парсинга вариативных товаров
Мы парсим сайты уже 6 лет и бесплатно делимся опытом с вами. Возможно, наши советы помогут сэкономить время и нервы.
- Если торговые предложения (вариативность) реализовывается в виде JSON массива, то находите этот массив в коде или в подгружаемых AJAX-запросах.
- Если хотите импортировать данные в систему Bitrix, то сначала сделайте импорт базовых товаров без вариативности, а затем создайте файл импорта торговых предложений с привязкой к основным товарам. Это можно сделать одним проходом парсера, если собирать индикаторы основного товара.
Заключение
Теперь вы знаете, что такое вариативные товары и особенности работы с ними. Желаем удачи!