Как настроить парсер под любой сайт интернет магазина - получение каталога товаров с ценами, описаниями и фото
Как работает парсер интернет магазинов Elbuz
Все интернет-магазины создаются при помощи языка HTML, это стандартизированный язык разметки страниц во Всемирной паутине, поэтому на всех сайтах используются одинаковые элементы для различных блоков, парсер Elbuz использует этот стандарт для получения данных с сайта интернет-магазина.
Список наиболее часто использующихся тегов HTML, которые есть на страницах интернет-магазинов:
- Тег div. Универсальный блочный элемент, который позволяет выделить на сайте раздел с визуальным содержимым. Это может быть список товаров.
- Тег a. Отображает ссылку на страницу. Это могут быть ссылки на товары в определённой категории.
- Тег h1. Отображает заголовок первого уровня (так же есть h2, h3, h4, h5, h6). Это может быть наименование товара.
- Тег p. Отображает текстовый абзац. Это может быть описание товара.
- Тег table. Отображает таблицу. Это может быть таблица атрибутов товара.
- Тег ul. Отображает маркированный список. Это может быть краткое описание товара.
- Тег img. Предназначен для отображения на странице изображений. Это могут быть фотографии товара.
В тегах может указываться название стиля для визуального отображения информации на сайте, например заданый стиль блока позволяет отобразить для какого-либо элемента жирный шрифт текста или зелёный цвет. На основании этих стандартизированных данных в системе Elbuz можно настроить парсер под любой интернет-магазин для получения нужной Вам информации, парсер Elbuz для получения данных использует селекторы CSS (дизайн стили сайта) или XPath (язык запросов к элементам сайта).
Для начала работы необходимо установить расширение для браузера Google Chrome, для этого перейдите по этой ссылке. Парсинг возможен только в браузере Google Chrome. Если ссылка на магазин Chrome не работает, установите расширение вручную. Так же можно не использовать расширение для браузера, для этого необходимо активировать функцию серверного парсинга.
Создание нового парсера
Для настройки парсера выполните этот порядок операций:
- Откройте Прайс-листы.
- Нажмите кнопку Добавить контрагента.
- Укажите название сайта.
- Выберите вкладку Парсер.
- Нажмите кнопку Добавить сайт.
- Укажите ссылку на главную страницу сайта.
- Укажите селекторы тегов.
Для добавления нового парсера сайта откройте окно "Прайс-листы", нажмите кнопку "+" и выберите пункт "Добавить контрагента"
Укажите название контрагента (интернет-магазина) и выберите группу, по умолчанию доступны группы: Поставщик, Конкурент, Клиент.
После добавления контрагента Вам будет предложен выбор откуда Вы хотите загружать данные, в этом списке выберите пункт "Парсер сайта" и нажмите кнопку "Добавить сайт"
Укажите адрес интернет-магазина для парсинга данных
Настройка парсера для получения данных из интернет-магазина
Порядок работы парсера для загрузки товаров из интернет-магазина:
- Получить ссылки на категории товаров
- Получить ссылки на товары
- Получить карточки товаров и сохранить нужную информацию
После добавления парсера интернет-магазина откроется окно настройки
Таблица настройки содержит типы операций и список полей для сохранения в них данных. Типы операций это этапы работы парсера для получения данных с сайта.
Например, чтобы получить список товаров с сайта, необходимо получить ссылки на категории товаров, чтобы парсер мог открыть страницу для получения информации по каждому товару, поэтому первая операция которую будет использовать парсер это "Список ссылок на категории товаров".
Типы операций:
- Список ссылок на категории товаров. Используется для получения ссылок на категории товаров.
- Список ссылок на товары. Используется для получения ссылок на товары.
- Карточка товара. Используется для получения данных о товаре. При выполнении этой операции можно получить с сайта наименование товара, артикул производителя, модель, гарантию, название производителя, фотографии, видео обзоры и другую информацию.
- Атрибуты товара. Используется для получения атрибутов товаров.
Описание колонок сетки для настройки парсера
- Селектор операции. Признак главного селектора получения данных с сайта для выполнения этой операции.
- Название поля. Название операции или поля для сохранения в него данных.
- Селектор №1-4. Парсер Elbuz для получения данных со страниц сайта использует селекторы CSS (стили сайта) или XPath (язык запросов к элементам сайта), в поля селекторов указываются условия по которым необходимо находить на сайте нужные Вам блоки и получать из них информацию.
- Ссылка для тестирования. Ссылка на страницу сайта для тестирования получения данных. Для каждой операции указывается ссылка на отдельный раздел сайта, например для операции "Список ссылок на категории товаров" указывается ссылка на главную страницу сайта, где есть список всех категорий товаров. Для тестирования получения атрибутов товаров для операции "Карточка товара" указывается ссылка на товар.
- Текст для очистки. Ключевые слова для очистки при получении данных. Например в наименовании товара на сайте есть лишний текст, который Вы не хотите получать с сайта, Вы можете задать этот текст в поле "Текст для очистки" для его удаления.
- Найти. Текст для поиска.
- Заменить. Текст для замены (на основании найденного текста).
- Получать HTML. Если необходимо сохранить форматирование текста полученног со страницы сайта с использованием тегов html, тогда установите этот флаг.
- Регулярное выражение. Вы можете применить регулярное выражение для получения нужного значения на основании текста полученного через селектор, то есть более детально разобрать строку на составляющие и получить то, что необходимо в итоге.
- XPath. Активация для селектора режима работы языка запросов XPath.
- Максимальное количество результатов. Позволяет ограничить загрузку данных для тестирования загрузки, чтобы не ждать пока скачается весь сайт, можно задать получение только 1 ссылки на категорию и получение к примеру, 2 ссылок на товары, для этого для каждой операции Вы можете задать количество результатов.
- Товары в этой операции. Вы можете получать товары без открытия карточек товаров на сайте. Данный режим будет полезен, если требуется получить только цены на товары и другие значения, которые доступны при листинге товаров в категории.
- Примечание. Примечание для строки настройки, например, Вы можете для себя сохранить напоминание, что означает эта настройка.
Этап №1. Получение списка ссылок на категории товаров
Для получения списка ссылок на категории товаров необходимо найти селектор ссылки, которая ведёт на категорию, для этого скопируйте ссылку с сайта (обычно это главная страница сайта) в поле "Ссылка для тестирования" и нажмите кнопку "Т"
Откроется вкладка "Тестирование загрузки" в которой будет отображена страница по указанной вами ссылке, на ней должны быть видны категории товаров. Слева отображаются результаты работы парсера, Ваша задача получить с сайта список ссылок на категории товаров, при удачной настройке парсера Вы увидите список ссылок на категории в левой части экрана.
Внимание! Тестирование загрузки возможно только для сайтов, которые используют безопасный протокол https, только для таких сайтов можно визуально проверить получение данных во вкладке "Тестирование загрузки", при этом, всё же можно настроить парсинг таких сайтов (использующих не безопасный протокол http), но визуально проверить получение данных не получится, то есть все теги и селекторы необходимо вводить "вслепую" (наугад).
Для поиска селектора ссылок на категории товаров нажмите правую кнопку мышки на наименование любой категории и выберите пункт "Просмотреть код", после этого откроется окно браузера с исходным кодом сайта. Вы можете расположить его как вам будет удобнее, например, слева или внизу экрана
Так же вы можете открыть ссылку в отдельной вкладке браузера, если вам требуется больше места на экране для поиска селектора ссылок на товары и там проделать те же операции.
Ищем блоки категорий товаров и ссылку в них
Ваша задача найти блоки ссылок на категории товаров. После того как Вы выбрали пункт "Просмотреть код" браузер откроет исходный код сайта в том месте, где была нажата правая клавиша мышки, в данном примере мы нажали на названии категории и видим что ссылки на категории располагаются в тегах "div" и "a" (картинка ниже кликабельна для увеличения).
Как видно каждая категория товара имеет блок "div" и в нём содержатся ссылки "a", при этом блок "div" имеет название стиля links-list (class="links-list") и ссылка "a" имеет название стиля link (class="link") .
Пропишем селекторы в настройку парсера в таком виде: указываем названия тегов через пробел и через точку указываем имена стилей. Можно просто указать тег "a" и его стиль, если он уникальный в пределах страницы для ссыли которая ведёт на категорию товара (тогда 1й пункт прописывать не требуется).
Проверяем результат, для этого нажимаем кнопку "Т". Как видно на примере, мы получили 74 ссылки на категории товаров, то есть наш парсер уже умеет искать категории на стороннем сайте
Этап №2. Получение списка ссылок на товары
Для получения списка ссылок на товары необходимо узнать селектор ссылки на товар на странице листинга товаров в категории, для откройте любую категорию товаров на сайте и скопируйте ссылку в поле "Ссылка для тестирования", затем нажмите кнопку "Т"
Откроется вкладка "Тестирование загрузки" в которой будет отображена страница по указанной Вами ссылке, на ней должен быть виден список товаров. Слева отображаются результаты работы парсера, Ваша задача получить с сайта список ссылок на товары, при удачной настройке парсера Вы увидите список ссылок в левой части экрана.
Для поиска селектора ссылок на товары нажмите правую кнопку мышки на наименование любого товара и выберите пункт "Просмотреть код", после этого откроется окно браузера с исходным кодом сайта.
Ищем блоки товаров и ссылку в них
Ваша задача найти блоки товаров с ссылками на карточку товара. После того как Вы выбрали пункт "Просмотреть код" браузер откроет исходный код сайта в том месте, где была нажата правая клавиша мышки, в данном примере мы нажали на наименование товара и видим что ссылки на товары располагаются в тегах "div" и "a".
То есть каждый товар в результатах поиска имеет блок "div" и в нём содержит ссылку "a", при этом блок "div" имеет название стиля tile (class="tile").
То есть каждый товар в списке отличается одинаковым стилем под названием tile, именно эту информацию будем использовать для получения ссылок на каждый товар.
Пропишем селекторы в настройку парсера в таком виде: через точку указываем имя стиля и тег "a" через пробел
Проверяем результат, для этого нажимаем кнопку "Т". Как видно на примере, мы получили 28 ссылок на товары, то есть наш парсер уже умеет находить товары на стороннем сайте
Настройка перехода по страницам (пагинация)
При открытии категории товаров обычно отображаются не все товары, например, может быть отображено только 28 товаров, следующие товары находятся на странице №2, этот режим называется пагинация (постраничный вывод информации). Для получение ссылок товаров на других страницах необходимо найти селектор ссылки, которая ведёт на следующую страницу, Вам необходимо найти на странице навигационный блок для перехода на другие страницы (пагинатор), на примере ниже, этот блок выглядит так и имеет такой селектор
ul[name="paginator"] li a
Найденный селектор для пагинации товаров указываем в поле "Селектор №2"
Существуют сайты на которых в ссылках на пагинацию нет текущей ссылки на страницу (ссылки на категорию товара), тогда пагинация может быть определена не корректно, пример не верного определения, когда в ссылке есть только номер страницы, в итоге ссылка будет вести на главную страницу сайта
Чтобы решить эту проблему требуется узнать текущий адрес страницы. Необходимо открыть исходный код сайта и попробовать найти адрес на текущую страницу, если таковой найден, тогда необходимо указать в поле Селектор №3 теги как его получить, например их блока "Breadcrumbs" (хлебные крошки): div. breadcrumbs a. active
Этап №2 можно использовать для получения только списка товаров, данный режим будет полезен когда необходимо получить только цены на товары, без описаний, тех. характеристик и фото, при этом скорость получение данных с сайта будет в разы выше (нет необходимости на сайте переходить в карточки товаров). Для активации этого режима установите флаг "Товары в этой операции" для типа операции "Список ссылок на товары", далее укажите селекторы для полей, которые нужно заполнить с сайта. Соответственно слектор для получения ссылок на товары заполнять не нужно, только получение "пагинации".
Этап №3. Получение данных из карточки товара.
По аналогии с поиском селектора ссылок на товары необходимо найти селекторы на нужные Вам поля в карточке товара, для этого прописываем ссылку на тестовый товар в поле "Ссылка для тестирования" и открываем её
Вам необходимо нажать правой кнопкой мышки на наименовании товара и выбрать пункт "Просмотреть код", после этого откроется окно браузера с исходным кодом сайта.
Например наименование товара находится в теге h1
Пропишем селектор h1 в таблицу настроек
Далее ищем селектор для цены товара
Прописываем селектор в таком виде
div. main-price span. price-number span
Далее ищем селектор для описания товара
Прописываем селектор в таком виде
div[itemprop="description"]
Для ссылок на фото прописываем такой селектор
div. image img::attr(src)
Проверяем результат
Этап №4. Получение атрибутов товара.
Для получения атрибутов товаров необходимо указать селектор на блок атрибутов (таблицу) и на селектор строки, в которой есть название атрибута и значение.
Порядок действий:
- В поле "Селектор №1" указываем селектор на блок атрибутов
- В поле "Селектор №2" указываем селектор на блок в котором есть название и значение атрибута (то есть на строку таблицы атрибутов)
- В поле "Название атрибута" указываем селектор где находится название атрибута
- В поле "Значение атрибуты" указываем селектор где находится значение атрибута
Пример настройки
Пример настройки на основании исходного кода сайта
Результат проверки получения атрибутов товаров (характеристик, свойств)
Если атрибуты находятся на отдельной странице
Если атрибуты находятся на отдельной странице, например при клике на вкладку "Характеристики" открывается новая страница, тогда есть два варианта решения, все они сводятся к тому, чтобы получить ссылку на страницу, где есть атрибуты товаров, чтобы программа могла перейти по ней и получить данные.
Варивант №1. Ссылка есть в исходном коде html.
Необходимо настроить селектор №3 для типа операции "Атрибуты товара" для получения ссылки (или части ссылки на страницу атрибутов).
Например, при клике на вкладку на сайте есть такой html код, тогда селектор для получения ссылки будет: a. nav-tabs-link
Варивант №2. К ссылке на товар добавляется префикс, которого нет в явном виде в исходном коде html.
Необходимо для типа операции "Атрибуты товара" прописать префикс ссылки в селектор №4 для добавления его к ссылке товара.
Например, можно прописать: tab=characteristics, тогда программа откроет ссылку на товар + префикс, тем самым парсер попадёт на страницу атрибутов товаров. Что именно прописывать в префиксе определяется опытным путём после тщательного анализа сайта.
Запуск парсинга с загрузкой каталога товаров со стороннего сайта.
Загрузка товаров с сайта интернет-магазина будет произведена в таком порядке:
- Получаем ссылки на категории товаров
- Получаем ссылки на товары
- Получаем карточки товаров и сохраняем нужную информацию
Для тестирования загрузки, установите максимальное количество результатов для этапов, чтобы быстро проверить парсинг данных с сайта интернет-магазина. В данном примере будет загружена одна ссылка на категорию товара со списком товаров из которой будут получены три ссылки на товар
Как получить опции товаров
В программе Elbuz товары-опции это виртуальные товары, которые привязаны к одному главному товару, при этом на сайте источнике это одна карточка товара с набором опций. Для получения опций необходимо прописать селектор для получения названий опций, указать разделитель запятую и поставить флаг "Опция товара"
При тестировании значения будут отображены через запятую
После загрузки товаров с сайта, будет создан 1 главный товар и несколько товаров-опций по каждому значению указанному на сайте.
Как парсить сайт
Есть несколько режимов работы парсинга:
- Указать ссылки вручную на нужные вам категории или товары.
Если Вам требуется получать товары только из определённых категорий, тогда необходимо добавить ссылки на нужные категории во вкладку "Список ссылок". Так же возможно получать информацию только по нужным Вам товарам, для этого укажите ссылку на товар и поставьте флаг "Ссылка на товар".
- Загрузить список ссылок из файла, по которым требуется получать информацию с сайта. Файл должен быть в формате CSV (текстовый файл).
- Загрузить ваши товары в базовый каталог и запустить поиск товаров на сайте на основании ваших товаров, программа будет вставлять в строку поиска сайта ваше наименование товара и сохранять полученный товар в базу данных программы. В этом режиме важно, чтобы ваши наименования товаров были идентичны наименованиям на сайте или сильно приближены к ним, потому как точность поиска зависит от алгоритма самого сайта, сможет ли он найти нужный вам товар или нет.
Для загрузки списка ссылок из файла выполните эти действия
Автоматизированный поиск ваших товаров на сайтах
- Необходимо указать в настройках ссылку на поиск. Ссылка индивидуальна для каждого сайта. Чтобы получить ссылку введите в строке поиска на сайте любой текст, скопируйте из браузера ссылку без текста, пример ссылки:
https://site.com/?search_text={NAME}
Вместо {NAME} программа подставит ваше ключевое слово и сформирует ссылки для поиска вашего товара на сайте источнике. Так же можно указать макроподстановку {SKU}, чтобы поиск проводился по значению из поля "Артикул производителя", вместо наименования. - Активировать параметр "Поиск по вашим товарам"
Это всего лишь краткая презентация возможностей программы E-Trae Jumper, которая автоматизирует процессы работы современного интернет-магазина.
Обратитесь к нам для подробной консультации решения ваших индивидуальных задач. Контакты указаны на этом сайте.
Программа для интернет магазина