Урок №29. Генерация таблицы характеристик

Бывают случаи, когда при парсинге информации о товарах или объявлениях в описании присутствует таблица характеристик или параметров. Набор параметров для каждого товара или объявления варьируется, суммарный набор параметров также заранее не известен. При этом в результирующей таблице нужно отобразить все возможные параметры в виде отдельных колонок. Для тех позиций, у которых нет конкретного параметра ячейка в результирующей таблице должна остаться пустой.

Базовыми средствами Datacol такую задачу реализовать нелегко, поскольку нам для каждой характеристики нужно создать отдельное поле данных. Однако мы можем задействовать специальный динамический плагин для этой цели.

Нужен парсинг таблицы характеристик, но Вы не знаете как его реализовать? Изучив данную видеоиструкцию Вы сможете спарсить все нужные характеристики используя динамический плагин.


Напомним, что в Datacol Вы так-же найдете уже готовые парсера:

Текст видео (если Вам проще воспринимать информацию после прочтения) »

После окончания парсинга плагин анализирует собранный набор данных. В этом наборе производится поиск поля, в которое для каждого товара или объявления собиралась вся таблица характеристик, включая html разметку. Далее для каждого товара распознаются все присутствующие характеристики. В итоге все найденные параметры добавляются как отдельные колонки в результирующую таблицу данных. Соответственно, если задать Excel в качестве формата экспорта, в файле выгрузке вы увидите все параметры, расфасованные по отдельным колонкам.

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

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

Настройка завершена. Перед тестом нужно включить сохранение тегов в поле, в которое собирается таблица характеристик. Также сделаем обязательным полем, чтобы собирались только товары, у которых есть характеристики. Сразу уточним, что это действие не всегда является обязательным.

Давайте протестируем настройку. Все работает именно так, как ожидалось. Откроем результирующий файл. В файлы выгрузке мы видим, что таблица характеристик так и сохранилась в одно поле. Теперь вопрос — как сделать, чтобы перед сохранением в файл генерировались колонки для всех характеристик. Для этого нужно подключить плагин.

Скачаем плагин. Добавим плагин в настройку Datacol. Давайте заново протестируем настройку. Откроем результирующий файл. Видим, что характеристики расфасованы по отдельным колонкам.

Теперь приведем несколько комментариев по поводу того, какие изменения стоит внести в код плагина, если все не заработало с первого раза.

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

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

Для подбора Xpath открываем в пикере поле, в которое собирается вся таблица характеристик и осуществляем следующую последовательность действий:

Делаем текущее выделение базовым. Подбираем Xpath для сохранения области, в которой находится название и значение одной характеристики. Подобранный Xpath можно перенести в код плагина, добавив его в соответствующий список Xpath выражений.

Далее делаем текущее выделение базовым и подбираем Xpath для сохранения названия характеристики. Его также добавляем в соответствующий Xpath список в плагине. И наконец,- по аналогии подбираем Xpath для сохранения значения характеристики.

Также, вместо Xpath, можно использовать регулярные выражения. Для них в плагине есть соответствующие списки.

Регулярные выражения подбираются с помощью селектора. Это обычно более трудоемко, чем подбор Xpath, однако в некоторых случаях очень удобно.

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