Пример карточки
Нужно собрать фото, характеристики и описание.
Настройка полей делается во вкладке “Обработка” настроек парсера. В этой вкладке по умолчанию уже создан какой-то минимальный набор полей. Можно удалить какие-то поля, которые не нужны
В этой таблице вводятся теги 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 и для него есть собственное поле валюты. Добавить поля можно этой кнопкой:
Описание товара
В программе по умолчанию есть 2 поля для описания: info - полное описание, shortinfo - краткое описание.
Добавляем новое поле для записи полного описания.
Добавляем теги
В результате получаем такое описание, в котором содержатся ссылки на картинки, которые идут на сайт, откуда парсили.
Чтобы посмотреть нужно перейти в карточку товара и в ней внизу вкладка Описание. Можно так же 2 раза кликнуть по описанию и откроется форма просмотра текста как в браузере.
Картинки в описании подгружаются с другого сайта.
Чтобы убрать ссылки нужно в настройках поля в колонке “Дополнительно” указать параметр REMURL - в этом случае парсер удалит все ссылки из текста. Не забывайте нажимать кнопку Сохранить после внесения изменений в настройки.
После такой настройки описание будет выглядеть так:
В данном примере в карточке товара есть несколько блоков с описанием, расположенных в разных местах страницы. Нужно добавить к общему описанию еще 1 блок.
Для этого добавляется еще одно поле info.
Я не вырезаю весь блок, вместе с заголовком, а только текст внутри блока, так как не хочу, чтобы в названии блока дублировалось название товара.
В колонке Объединить указывается текст, который будет добавлен между первым блоком и следующим. <br/> - это HTML-код перевода строки.
Описания будут объединены в порядке, который указан в этой колонке, чем меньше порядок, тем первее будет идти текст.
После парсинга получается такой текст описания:
Добавим еще заголовок к блоку в котором описаны преимущества, для этого можно задать шаблон, по которому формируется текст полученного поля. Шаблон указывается в колонке “Шаблон”. Здесь для описания нужно вводить HTML-текст.
<b>Преимущества:</b><br/>[[value]]
Текст, который получен парсером, вставляется в шаблон на место [[value]]
В моем примере перед текстом добавляется текст, выделенный жирным, Преимущества:
и после него перенос строки.