Пример карточки
...
Нужно собрать фото, характеристики и описание.
...
Название группы в этом тексте выглядит так:
<span itemprop="name">Инструмент</span>
Регулярное выражение, которое из этого текста получит слово Инструмент выгляди так
<span itemprop="name">(.+?)</span>
т.е. в уникальном тексте, относящемся к названию группы, заменяем текст, который нужно вырезать, на выражение (.+?)
...
Вводим этот текст в колонку “Регулярное выражение”, а так же вводим количество слов, которое нужно получить таким способом. Если в “Кол-во” ввести 0, то будут получены все слова. Если, например, 3, то будут получены только первые 3 слова, которые соответствуют выражению. В этом отличие от вырезания просто текста тегами, что можно вырезать сразу несколько или все соответствующие значения.
Конструкция .+? в выражении означает, что в этом месте может быть любой текст. Если ее взять в скобки (.+?), то это значит что нужно вырезать этот любой текст.
Использовать это можно и для других полей, когда рядом с нужным текстом есть какое-то постоянно меняющееся значение. Например получить группы можно и таким выражением
<span itemprop=".+?">(.+?)</span>
в отличие от исходного здесь слово name заменено на .+? , что значит, что в этом месте может быть любое слово или несколько. В первом же варианте в этом месте обязательно должно было бы быть name.
...
Если мне не нужно последняя группа, в моем примере это Бренд, то нужно задать такое выражение, которое бы в конце ожидало присутствие еще одной группы. Например так:
<span itemprop="name">(.+?)</span>.+?<span itemprop="itemListElement"
В этом выражении указано, что в конце нужного блока должен быть текст <span itemprop="itemListElement" который является началом очередного блока в хлебных крошках - соответственно за последним элементом не следует больше блоков и он не попадет в результаты.
...
Дальше ввожу настройки для получения информации в это поле такие же, как и для стандартных полей.
Изображения
Для парсинга изображений нужно создать дополнительное поле с типом Текст, назвать его можно, например “Фото BIG”. Перед добавлением обязательно проверьте список уже существующих полей, скорей всего это поле у вас уже есть.
Добавить поле можно этой кнопкой:
...
В этом случае у поля заполнятся значения по умолчанию, нужные для парсинга фото. При этом будет сразу выбран и код поля, если у вас в базе есть поле с названием “Фото BIG”.
Note |
---|
Найдите на сайте, парсинг которого делаете, две карточки товара, чтобы в одной карточке было только одно фото, а в другой - несколько. Очень часто одно фото и несколько фото выводятся по-разному и соответственно нужно делать 2 варианта получения поля. |
Чтобы скачать картинки, нужно сохранить ссылки на них. Ссылки нужно искать в исходном коде страницы, в области, где отображаются фото товаров.
...
Обычно ссылки есть в коде маленьких изображений.
...
В большинстве случаев там ссылки на маленькие фото
...
Чтобы найти ссылку на большое фото, можно попробовать скопировать только название картинки и поискать его по всему тексту страницы
...
Чаще всего большое фото называется так же, как маленькое, только находится в другой папке, и ссылки на большие фото можно найти в тексте страницы.
...
Нужно определить блок, в котором находятся ссылки на большие фото
...
И из этого блока с помощью регулярного выражения извлечь все фото. Как использовать регулярные выражения описано для поля “Группа товара” и в этой инструкции Парсер информации из карточек товаров
Если на странице вы нашли ссылки только на маленькие фото, то выберите какое-то маленькое фото - подгрузится и большое фото.
...
Скопируйте в блокнот ссылку на большое и на маленькое фото и сравните, чем они отличаются. В моем примере они отличаются папкой, поэтому я могу спарсить ссылки на маленькие фото и заменить в них папку на большую.
...
Настраиваем вырезание блока с картинками.
...
Регулярное выражение для картинок:
src="https://cdn.site.ru/images/goods/(.+?)"
обратите внимание, я вырезаю часть, которая содержит не только название фото, но и папки, так как папки в разных группах товаров будут разные
На сайте из примера есть еще картинки, которые добавлены пользователями. Эти картинки не нужны и здесь есть возможность их не парсить, так как у них ссылка начинается не так, как ссылка на картинки, добавленные сайтом.
...
Пользовательские в папке responses, а основные в папке goods, поэтому эта папка присутствует в регулярном выражении и будут выбраны только фото, путь которых содержит goods.
Добавляю замену, чтобы из ссылки на маленькое фото сформировалась ссылка на большое фото.
...
Так же добавляю шаблон, который сформирует из части ссылки полную ссылку
https://cdn.site.ru/images/goods/[[value]]
В настройке в колонке “Папка для файлов” указывается путь, в который будут сохраняться фото.
...
Если вы хотите, чтобы сохранялись только ссылки на фото, а сами фото не скачивались, то этот путь нужно удалить, т.е. очистить колонку.
Note |
---|
Не скачивайте фото сразу, если вы парсите какую-нибудь группу товаров целиком, при этом не собираетесь добавлять себе все товары из этой группы. Так как в группе может быть 2000 товаров, из которых продавать вы будете только 200. Лучше скачать позже фото для этих 200 товаров, чем тратить время и место на жестком диске на фото 2000 товаров, которые вам не нужны. |
Если вы не будете скачивать фото сразу, то нужно поменять приоритет скачивания фото для этого прайса. Перейдите во вкладку Прайсы / внизу 2. Загрузка прайсов, нажмите кнопку Обновить. Найдите в списке ваш прайс и измените приоритет в колонке “Из. пр.” на любой другой, у которого на конце не будет цифры 9. Цифра 9 на конце означает, что фотки для этого прайса не будут скачиваться при заполнении контента, так как они уже скачались парсером. Любой другой приоритет, без 9 на конце, например “100”, значит, что фото будут скачаны по ссылкам при обновлении контента (как обновлять контент будет написано ниже).
...
Приоритет нужен для того, чтобы расставить сайты, с которых парсятся фото, в порядке приоритета. Чем больше приоритет, тем первее парсятся картинки. Если картинки спарсились с одного сайта, то с других сайтов они больше не будут парситься.
После выполнения теста в папке, указанной в настройке поля, должны появиться фотки (они будут еще разбиты на дополнительные подпапки, в названии которых первые цифры ИД товара из прайса, за исключением последних трех цифр).
...
Если фото не появились, значит что-то не так и нужно смотреть логи.
Характеристики
Для парсинга характеристик нужно создать дополнительное поле с типом Текст, назвать его можно, например “Характеристики Парсер” (если назовете так, то оно будет автоматически подставляться). Перед добавлением обязательно проверьте список уже существующих полей, скорей всего это поле у вас уже есть.
Добавить поле с настройками по-умолчанию можно этой кнопкой:
...
В настройках нужно указать теги для получение полного текста блока с характеристиками
...
Дальше нужно задать параметры парсинга характеристик. Описание здесь Парсер информации из карточек товаров в разделе “Получение характеристик”
...
В шаблоне по умолчанию в колонке Дополнительно уже есть подсказки
В моем примере для названия характеристики есть уникальные теги, поэтому можно использовать их, без блоков.
...
Очищаю первые 2 строки, в которых задаются настройки блока и добавляю настройки для парсинга названия характеристики.
...
Для значений характеристик перед выводом значения есть какой-то не уникальный текст. В нем выводится дубль значения характеристики, но не факт, что он будет соответствовать значению всегда.
...
Поэтому сначала добавляем переход к блоку itemprop="value" , а затем парсинг между > и </span>
...
и удаляю последние 2 строки, так как характеристики выводятся всегда в одинаковом виде и не нужен второй способ получения названия характеристики.
...
Обратите внимание, что конец блока можно не указывать, в этом случае парсер не вырезает блок, а просто переходит к его началу.
В результате после тестового парсинга должна получиться такая таблица с характеристиками
...
Note |
---|
Обратите внимание, что характеристики при парсинге сохраняются в виде текстовой таблицы, а не отдельных характеристик. Их разбор идет позднее, только для тех товаров, которые связаны с товаром собственного прайса. |
Для формирования отдельных характеристик вам нужно:
1. Добавить товар, полученный парсером, в собственный прайс или же связать товар с вашим товаром, если он у вас уже есть. Инструкции:
Ручное добавление товара из прайса поставщика
Ручное сопоставление из вкладки Прайсы
есть так же вариант автоматического добавления и сопоставления - ищите соответствующие пункты слева в меню.
Чтобы сформировались характеристики, у группы, в которую входит товар, должен быть установлен тип товара.
...
Подробнее про типы товаров: Типы товаров
2. Создайте набор характеристик и задание по их формированию.
Для этого перейти во вкладку Автоматизация / внизу Sync.X
Добавить действие (если оно не было добавлено раньше) Парсер / Характеристики
...
Указать название действие, например “формирование характеристик site.ru”. Сохранить и перейти во вкладку Настройки.
...
Нажмите кнопку с тремя точками.
...
В открывшемся окне добавьте новый набор характеристик, введите его название.
...
В поле “Прайс для которого будут сформированы характеристики” выберите Основной прайс.
В поле “Прайс” выберите прайс, в который сохраняет результаты парсер.
В поле “Поле” выберите поле, в которое сохраняются характеристики.
Нажмите Сохранить и закройте окно.
3. Выполните формирование характеристик
Выберите созданный набор характеристик, сохраните настройки и принудительно запустите задание
...
Поменяйте так же тип запуска на “Вручную” и уберите птичку “Акт.”
...
Перейдите во вкладку Статус и дождитесь завершения формирования характеристик. Статус не обновляется автоматически, нужно нажимать кнопку Обновить.
...
После завершения у товара должны появиться характеристики. Найдите товар в Продукции и откройте окно “Характеристики Quad.Site”
...
Если все ок, то характеристики в окне будут:
...