Парсер

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

Когда использовать

Используйте Парсер, когда нужно извлечь конкретные данные из структурированного или неструктурированного текста. Типичные примеры:

  • Получить значение поля из JSON-ответа API

  • Извлечь текст из HTML-страницы по CSS-селектору

  • Найти все ссылки на странице с помощью XPath

  • Вытащить номер заказа из текста по регулярному выражению

Настройка компонента

Общие свойства

Поле

Описание

Название

По умолчанию «Парсер». Можно изменить на своё — например, «Извлечь email из ответа» или «Найти цену в HTML»

Описание

Необязательное поле. Можно добавить комментарий для себя или коллег

Секция «Найти»

Поле

Описание

Данные

Строка с текстовыми данными, в которой требуется найти нужный фрагмент. Данные могут быть любого формата (JSON, XML, HTML, текст). Формат: текст в кавычках или выражение

Метод поиска

Способ поиска вхождений в исходной строке. Доступны четыре метода: JSONPath, XPath, jQuery-селектор, Regex

Поисковая строка

Выражение, описывающее что искать. Формат зависит от выбранного метода. Формат: текст в кавычках или выражение

Возвращаемое значение

Поле появляется для некоторых методов поиска. Указывает, что именно вернуть из найденного элемента

Вернуть

Какое из найденных значений вернуть: «Первый элемент», «Последний элемент» или «Все»

Методы поиска

Метод

Для чего используется

Пример поисковой строки

JSONPath

Поиск элементов в JSON-объекте или JS-объекте

"$.store.book[*].author"

XPath

Поиск элемента в XML или HTML-документе

"/element/"

jQuery-селектор

Поиск элемента или данных в HTML-документе. Поддерживает все jQuery-селекторы

"#elementid", ".classname", "p:first"

Regex

Поиск с помощью регулярных выражений

"/[0-9]+/"

Возвращаемое значение

Поле доступно при выборе метода jQuery-селектор. Указывает, что именно вернуть у найденного элемента:

Вариант

Что возвращает

HTML элемента

Внутренний HTML-код элемента

Текст элемента

Текстовое содержимое элемента

Значение элемента (val)

Значение элемента (для input-полей)

Элемент

Сам DOM-элемент

Атрибут

Значение указанного атрибута

Поле также доступно для метода Regex — указывает индекс поисковой подстроки (по умолчанию 0), если регулярное выражение содержит несколько групп (заключенных в круглые скобки).

Секция «Результат»

Поле

Описание

Сохранить в

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

Пограничные события

Компонент поддерживает 2 типа пограничных событий:

  • Ошибка — выход из компонента, если произошла какая-либо ошибка

  • Таймаут — выход из компонента, спустя заданное ограничение по времени

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

Примеры

JSONPath

Данные:

Поле

Значение

Метод поиска

JSONPath

Поисковая строка

"$.store.book[*].author"

Вернуть

Все

Результат: ["Толстой", "Достоевский"]

jQuery-селектор

Данные: HTML-страница с элементом <span class="price">1500 ₽</span>

Поле

Значение

Метод поиска

jQuery-селектор

Поисковая строка

".price"

Вернуть

Первый элемент

Возвращаемое значение

Текст элемента

Результат: "1500 ₽"

Regex

Данные: "Ваш заказ №12345 подтверждён"

Поле

Значение

Метод поиска

Regex

Поисковая строка

"/№(\d+)/"

Возвращаемое значение

1 (индекс подстроки в скобках)

Вернуть

Первый элемент

Результат: "12345"

Last updated