Quad.Wiki

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 12 Next »

Пример карточки

Нужно собрать фото, характеристики и описание.

Настройка полей делается во вкладке “Обработка” настроек парсера. В этой вкладке по умолчанию уже создан какой-то минимальный набор полей. Можно удалить какие-то поля, которые не нужны

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

Код товара

Первое поле code - сюда записывается код товара с сайта, откуда парсится. Именно код, т.е. какой-то буквенно-цифровой идентификатор, который уникальный только для этого сайта и больше нигде не используется. Это не артикул производителя, который может быть одинаковый на разных сайтах и прайсах. Артикул записывается в поле article.

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

В примере код товара присутствует.

Нужно в браузере Chrome нажать на него правой кнопкой мыши и в появившемся меню выбрать “Просмотреть код”

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

Нужный нам код товара находится между выделенными тегами

т.е. в настройку поля можно скопировать то, что слева текста и то что справа. Для копирования в нужном месте нужно нажать правой кнопкой мыши и в открывшемся меню нажать на “Edit as HTML”

получим:

В настройках поля будет выглядеть так:

Такая настройка говорит парсеру, что нужно в качестве Кода вырезать со страницы текст, который находится между текстом <span class="value"> и </span>

Но нужно понимать, что текст <span class="value"> может встречаться на странице в разных местах, поэтому нужно проверить, чтобы он был уникальным. Для этого копируем этот текст и открываем код страницы целиком. Для этого в любом месте страницы нажимаем правой кнопкой мыши и в меню выбираем “Просмотр кода страницы”

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

Откроется вкладка с полным кодом страницы

Нажимаем Ctrl-F и вставляем текст для поиска

Бывает, не находит вообще текст, это значит, что в исходном коде страницы есть какие-то ошибки или неточности, лишние пробелы и т.п., которые браузер исправляет автоматически и в коде элемента вы видите исправленный текст, а в коде страницы - исходный, который отличается. В этом случае нужно скопировать значение товара, в примере это код и найти его в полном тексте страницы, и уже здесь смотреть, какие теги находятся рядом со значением. При этом важно убедиться, что это именно то место, по окружающему его тексту, так как тот же Код может выводиться в нескольких местах на странице, в том числе и “невидимых” для человека.

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

Для этого возвращаемся к коду элемента страницы и смотрим, можно ли выделить блок, содержащий поле Код.

В примере видно, что перед самим кодом есть несколько тегов, которые скорее всего относятся только к полю код, например, <div class="product-code"> или <span class="title">Код товара:</span>

Т.е. парсеру, чтобы правильно получить код товара, нужно сначала перейти к тегу <div class="product-code">, а уже потом вырезать текст между тегами <span class="value"> и </span>

Тег, куда нужно перейти, вводится в колонке “Ограничить блок слева”

Нажимайте кнопку “Сохранить” после ввода настроек

Чтобы Код товара сохранился не только в товаре в прайсе, а еще был виден и в результатах парсера, можно поставить 1 в колонке “Сохранить”.

В этом случае код, если он спарсится правильно, будет виден в результатах в колонке Значение 1:

Всего таким способом можно сохранить 5 каких-то значений разных полей, в зависимости от указанной в колонке “Сохранить” цифры.

Можно теперь перейти во вкладку “Выполнение / Результаты” и запустить тест для какой-нибудь ссылки, чтобы проверить, будет ли получена информация.

При первом выполнении появится такое сообщение, нужно нажать Ок.

Дождитесь пока парсер завершит работу

Если в карточке товара не много фото, то обычно эта операция занимает 30-60 секунд. Если время выполнения длится больше 2х минут, то значит, что что-то не так, нужно нажать Отмена и смотреть логи парсинга или запускать тест через Fiddler.

Нажмите кнопку Обновить после завершения теста - если какую-то информацию сохраняли в Значение, то оно должно появиться.

Так же результат по парсингу товара можно посмотреть в карточке товара

Карточка открывается отмеченной кнопкой или двойным щелчком по строке с товаром.

Если значение не появилось, значит есть какие-то проблемы с настройкой поля. Посмотреть лог выполнения парсинга можно в папке Quad Solutions\SyncLog\qs_logs

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

Если нет, то будет написано Not Found.

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

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

2. Информация на страницу подгружается каким-то дополнительным запросом, в этом случае вы не сможете настроить парсер.

Артикул

Поле article - сюда сохраняется артикул производителя. Если он есть на странице, то действия такие же как и с Кодом, если нет, то поле можно просто удалить.

Производитель

Поле manuf - сюда записывается производитель (бренд) товара.

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

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

Настройки получения бренда из примера:

Название товара

Поле title - в это поле загружается название товара.

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

Так же в случае, если название товара нужно заменить на то, которое на сайте, то в настройках загрузки прайса нужно установить птичку “Записывать только не заполненные поля”

Поле Название загружается так же, как и другие поля.

В моем примере Название товара между такими тегами.

Тег get-product-title"> встречается на странице только 1 раз, поэтому не нужно ограничивать блок текста.

Цена и РРЦ товара

Поле price - в это поле записывается цена товара. Разделитель целой и дробной части программа понимает и точку и запятую. Важно, чтобы при парсинге внутри числа не было никакого текста. Текст можно убрать птичкой “Только цифры” - в этом случае программа оставляет в тексте только числа, точку и запятую.

Иногда дробная часть (копейки) отделяются от рублей какими-нибудь html-тегами - в этом случае их нужно заменить.

Например, цена после парсинга: 120<sup>99

Если программа отработает просто с птичкой “Только числа”, то у вас получится цена 12099, хотя 99 это копейки. Чтобы такого не произошло, нужно заменить <sup>на “точку”. Для этого поставьте курсор в ячейку “Замены” у нужного поля и нажмите появившуюся кнопку.

В замены добавьте такие значения:

В колонке N вводится номер по порядку, в котором происходит замена. Чем меньше число, тем первее работает замена. Число вводить обязательно.

Если вы парсите цену, то обязательно нужно указывать и поле валюты.

Поле валюты price_curr_id добавляется по умолчанию. В него записывается ИД валюты. По умолчанию устанавливается ИД основной валюты программы.

Если на сайте цены в другой валюте, то ИД можно посмотреть во вкладке Конфигурация.

Если с сайта кроме цены вам нужно получить еще РРЦ (рекомендованную цену) или использовать цену с сайта в качестве РРЦ, то загружать такую цену нужно в поле fixed_price и для него есть собственное поле валюты. Добавить поля можно этой кнопкой:

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

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

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

Описание товара

В программе по умолчанию есть 2 поля для описания: info - полное описание, shortinfo - краткое описание.

Добавляем новое поле для записи полного описания.

Добавляем теги

В результате получаем такое описание, в котором содержатся ссылки на картинки, которые идут на сайт, откуда парсили.

Чтобы посмотреть нужно перейти в карточку товара и в ней внизу вкладка Описание. Можно так же 2 раза кликнуть по описанию и откроется форма просмотра текста как в браузере.

Картинки в описании подгружаются с другого сайта.

Чтобы убрать ссылки нужно в настройках поля в колонке “Дополнительно” указать параметр REMURL - в этом случае парсер удалит все ссылки из текста. Не забывайте нажимать кнопку Сохранить после внесения изменений в настройки.

После такой настройки описание будет выглядеть так:

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

Для этого добавляется еще одно поле info.

Я не вырезаю весь блок, вместе с заголовком, а только текст внутри блока, так как не хочу, чтобы в названии блока дублировалось название товара.

В колонке Объединить указывается текст, который будет добавлен между первым блоком и следующим. <br/> - это HTML-код перевода строки.

Описания будут объединены в порядке, который указан в этой колонке, чем меньше порядок, тем первее будет идти текст.

После парсинга получается такой текст описания:

Добавим еще заголовок к блоку в котором описаны преимущества, для этого можно задать шаблон, по которому формируется текст полученного поля. Шаблон указывается в колонке “Шаблон”. Здесь для описания нужно вводить HTML-текст.

<b>Преимущества:</b><br/>[[value]]

Текст, который получен парсером, вставляется в шаблон на место [[value]]

В моем примере перед текстом добавляется текст, выделенный жирным, Преимущества: и после него перенос строки. Результат:

  • No labels