Глоссарий

Подбор XPath в программе Datacol

XPath - основа сбора данных в Datacol: с его помощью обычно собирают ссылки на товары, пагинацию, категории и данные страницы.

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

Пример 1. Динамические классы и id

Проблема: имя класса содержит изменяющееся число, например product_123.

Решение - использовать оператор contains:

//h1[contains(@class, 'product_')]

Такой подход ищет частичное совпадение, а не точное значение, ориентируясь на постоянную часть имени класса.

Пример 2. Элементы без атрибутов

Проблема: нужно выбрать теги <td>, у которых нет атрибута class.

Решение - применить оператор not:

//table//td[not(@class)]

Или для исключения конкретного класса: //table//td[not(@class, "title")].

Пример 3. Выбор конкретных элементов списка

Проблема: нужно извлечь определённый элемент из списка.

Решение - добавить номер элемента:

//ul/li[2] - второй элемент
//ul/li[last()] - последний элемент

Пример 4. Переход по JS-пагинации

Проблема: нужно найти кнопку перехода на следующую страницу в пронумерованном списке пагинации.

Решение - определить активный элемент и выбрать следующий за ним:

//li[@class="active"]/following-sibling::li[1]/a

Пример 5. Фильтрация по атрибутам

Проблема: нужно выбрать теги с конкретным атрибутом, например target.

Решение - обратиться напрямую к атрибуту:

//a/@target

Пример 6. Несколько форматов данных

Решение - перечислить несколько выражений XPath построчно в настройках поля. Datacol будет последовательно проверять их, пока не найдёт совпадающие данные.