Для случаев, когда из одного HTML кода нужно подряд извлечь несколько значений, сохраняя полученные результаты в один список или в отдельные переменные, в парсере предусмотрен набор из 3 следующих действий:
В большинстве случаев используются только первые 2 действия, а третье (Получить список значений) требуется только в том случае, когда нужно получить все извлеченные значения в одной строке.
Как бы выглядели настройки парсера без этих действий?
Было бы немного больше действий:
- сохранить значение в переменную TXT (запомнили исходное значение, к которому будет возвращаться)
- получить какой-то результат
- сохранить результат в переменную 1
- считать значение переменной TXT (возврат к исходному значению)
- получить какой-то результат
- сохранить результат в переменную 2
- считать значение переменной TXT (возврат к исходному значению)
- получить какой-то результат
- сохранить результат в переменную 3
- и т.д.
Как выглядит алгоритм с использованием действий для списка значений?
Чуть короче:
- СОЗДАТЬ НОВЫЙ СПИСОК ЗНАЧЕНИЙ (запомнили исходное значение)
- получить какой-то результат
- ДОБАВИТЬ результат в переменную 1 (и заодно вернулись к исходному значению)
- получить какой-то результат
- ДОБАВИТЬ результат в переменную 2 (и заодно вернулись к исходному значению)
- получить какой-то результат
- ДОБАВИТЬ результат в переменную 3 (и заодно вернулись к исходному значению)
- и т.д.
Когда надо извлечь 10-15 значений из одного исходного значения, — мы таким образом мы заметно укорачиваем список команд. К тому же, появляется возможность одним действием получить весь список извлечённых значений.
Примеры использования:
Пример 1: преобразование даты в американском формате написания в привычный нам формат:
| Исходное значение |
|---|
| Дата (в американском формате месяц / день / год) |
| Действие | Параметр | Значение | Результат |
|---|---|---|---|
| Создать новый список значений | <без изменений> | ||
| Часть строки по разделителю | Разделитель | / | Число |
| Индекс нужной части | 2 | ||
| Список имён переменных через | | |||
| Добавить значение в список значений | Сохранить значение в переменную | Текст |
|
| Разделитель элементов списка | | | ||
| Часть строки по разделителю | Разделитель | / | Число |
| Индекс нужной части | 1 | ||
| Список имён переменных через | | |||
| Добавить значение в список значений | Сохранить значение в переменную | Текст |
|
| Разделитель элементов списка | | | ||
| Часть строки по разделителю | Разделитель | / | Число |
| Индекс нужной части | 3 | ||
| Список имён переменных через | | |||
| Добавить текст ДО или ПОСЛЕ | Префикс | 20 | Число |
| Суффикс | |||
| Добавить значение в список значений | Сохранить значение в переменную | Текст |
|
| Разделитель элементов списка | | | ||
| Получить список значений | Текст |
||
| Заменить часть текста | Что заменяем | | | Дата (в привычном нам формате день.месяц.год) |
| На что заменяем | . | ||
| Количество замен | все |
Пример 2: извлекаем из HTML несколько значений подряд, не меняя исходного значения:
| Действие | Параметр | Значение | |
|---|---|---|---|
|
запоминаем исходное значение (к которому парсер будет возвращаться после каждого действия «Добавить значение в список значений»)
|
|||
| Создать новый список значений | |||
| HTML: Поиск тегов | Тип элемента | brand | |
| Название проверяемого атрибута | |||
| Значение проверяемого атрибута | |||
| Тип результата / извлекаемый атрибут | ConvertToText 1 | ||
| Сохранить результат в переменную | |||
| Использовать новое значение | да | ||
|
программа автоматически возвращается к исходному значению, запомненному при выполнении действия «Создать новый список значений»
|
|||
| Добавить значение в список значений | Сохранить значение в переменную | бренд | |
| Разделитель элементов списка | | | ||
| HTML: Поиск тегов | Тип элемента | salePrice | |
| Название проверяемого атрибута | |||
| Значение проверяемого атрибута | |||
| Тип результата / извлекаемый атрибут | ConvertToText 1 | ||
| Сохранить результат в переменную | |||
| Использовать новое значение | да | ||
|
программа автоматически возвращается к исходному значению, запомненному при выполнении действия «Создать новый список значений»
|
|||
| Добавить значение в список значений | Сохранить значение в переменную | цена | |
| Разделитель элементов списка | | | ||
| Выборка из XML | Запрос XPath | //sizes/size | |
| Что выводить | text | ||
| Название атрибута / маска текста | |||
| Значение по умолчанию | |||
| Сохранить результат в переменную | |||
| Использовать новое значение | да | ||
| ОБЪЕДИНИТЬ (сцепить) элементы массива | Разделитель элементов массива | ; | |
|
программа автоматически возвращается к исходному значению, запомненному при выполнении действия «Создать новый список значений»
|
|||
| Добавить значение в список значений | Сохранить значение в переменную | размеры | |
| Разделитель элементов списка | | | ||
| Исходное значение | Результат | |
|---|---|---|
<products index="1"> <id>2871804</id> <name>Платье летнее</name> <brand>O'STIN</brand> <price>1281</price> <sale>20</sale> <salePrice>1024</salePrice> <sizes> <size index="1">36</size> <size index="2">38</size> <size index="3">40</size> </sizes> <picsCount>4</picsCount> <rating>5</rating> <feedbackCount>11</feedbackCount> </products> |
<products index="1"> <id>2871804</id> <name>Платье летнее</name> <brand>O'STIN</brand> <price>1281</price> <sale>20</sale> <salePrice>1024</salePrice> <sizes> <size index="1">36</size> <size index="2">38</size> <size index="3">40</size> </sizes> <picsCount>4</picsCount> <rating>5</rating> <feedbackCount>11</feedbackCount> </products> |
Как видим, исходное значение не изменилось (можно продолжать извлекать из него данные), а в переменные успешно записались извлечённые значения:

Впрочем, в новой версии действия «HTML: Поиск тегов» можно извлечь все значения в переменные без дополнительных действий:
| Действие | Параметр | Значение |
|---|---|---|
| HTML: Поиск тегов | Тип элемента | brand |
| Название проверяемого атрибута | ||
| Значение проверяемого атрибута | ||
| Тип результата / извлекаемый атрибут | ConvertToText 1 | |
| Сохранить результат в переменную | бренд | |
| Использовать новое значение | нет | |
| HTML: Поиск тегов | Тип элемента | salePrice |
| Название проверяемого атрибута | ||
| Значение проверяемого атрибута | ||
| Тип результата / извлекаемый атрибут | ConvertToText 1 | |
| Сохранить результат в переменную | цена | |
| Использовать новое значение | нет | |
| Выборка из XML | Запрос XPath | //sizes/size |
| Что выводить | text | |
| Название атрибута / маска текста | ||
| Значение по умолчанию | ||
| Сохранить результат в переменную | размеры | |
| Использовать новое значение | нет |










