Вывод характеристик в несколько столбцов

При парсинге сайтов, часто требуется вывести все характеристики товара в отдельные столбцы.

Поскольку у разных товаров может быть разный набор характеристик (свойств), а название характеристики выводится в заголовок столбца, столбцы с характеристиками должны формироваться парсером автоматически, по мере обнаружения новых характеристик в процессе перебора товаров на сайте.

В парсере есть такая возможность, и в этой инструкции мы рассмотрим 3 наиболее часто встречающихся варианта обработки характеристик со страниц товаров.

Чтобы парсер смог вывести характеристики, автоматически формируя столбцы с нужными названиями, нужно:

  1. создать в настройках парсера столбец (не задавая его названия), и в настройках вывода данных в столбец на подвкладке Дополнительно включить опцию «Поиск столбца для вывода (и создание столбца, если он отсутствует»
  2. в списке действий для этого столбца, получить массив значений вида Название|Значение
    (Название будет использовано в качестве заголовка столбца, а Значение будет выведено в ячейку строки этого товара)

 

Как получить массив характеристик вида Название|Значение

Предполагается, что парсер уже настроен, на выходе исходных данных парсер получает исходный код страницы товара (этот HTML код страницы подаётся в вывод на лист), и все нижеописанные действия получают на входе HTML код страницы товара.

 

1. Если характеристики на странице товара представлены в виде таблицы (тег table), то используется действие Преобразовать таблицу в список с разделителями:

 

2. Если характеристики на странице товара представлены в виде списка (тег li или несколько тегов div), то применяется такой алгоритм: сначала получаем массив характеристик в HTML формате (один элемент массива — одна характеристика), а потом при помощи действия HTML: Преобразование тегов получаем массив вида Название|Значение:

 

3. Если характеристики идут обычным текстом (без тегов) — используем текстовые функции (например, действие Заменить часть текста):