Действие парсера «Проверка на 2 условия»

Параметры действия:

Предназначение действия:

Выполняет проверку исходного значения на 2 условия
(можно, например, использовать для вывода информации о наличии товара, - есть товар, или нет)

Исходными значением для функции обычно является исходный код веб-страницы (или часть HTML кода страницы).
Исходное значение (после применения HTML фильтров, если они заданы) проверяется на присутствие в нём 2 текстовых значений (маска результата 1 «да» и результата 2 «нет»)
Может быть задана только одна проверочная маска (да или нет), можно задать обе.

Возвращаемое значение: текст (один из 3 вариантов)

 


Параметр «Признак результата 1 («да»)»

Тип параметра: произвольное текстовое значение

Необязательный параметр, если указан Признак результата 2
Можно указать несколько вариантов масок для условия, через разделитель | (вертикальная черта)

Параметр «Признак результата 2 («нет»)»

Тип параметра: произвольное текстовое значение

Необязательный параметр, если указан Признак результата 1
Можно указать несколько вариантов масок для условия, через разделитель | (вертикальная черта)

Параметр «HTML фильтры»

Тип параметра: выбор из списка, или ввод вручную

Примеры значений параметра: class=InStock; ConvertToText; div id=content&ConvertToText

Позволяет взять нужную часть HTML кода для проверки, без добавления предварительного действия «HTML: Поиск тегов»

Параметр «Значения результата ( да|нет|не распознано )»

Тип параметра: выбор из списка, или ввод вручную

Примеры значений параметра: да|нет|не распознано; есть|нет; в наличии|под заказ|нет данных

Значение по умолчанию: да|нет|не распознано

Три значения, введённые через разделитель | (вертикальная черта)

Здесь мы указываем, что будет возвращено в результат после выполнения проверок: задаём 3 варианта значений, с разделителем |, например: в наличии|под заказ|нет данных.
Результат будет взят из одного из этих трех значений, в зависимости от результатов выполнения проверок.
Третий результат выводится, только когда заданы обе маски ('да' и 'нет'), в случаях, если ни одно из условий не выполнилось, или оба этих условия выполнены.

 

Примеры использования:

 

Проверяем текстовую строку на присутствие в ней слов «текст» и «слово»:

Если найдется «текст» - в результат попадёт «да», если найдется «слово» - результатом будет «нет».
Если же ни то, ни другое, не будет найдено, - результатом будет текст «не распознано»

Действие Параметр Значение
Проверка на 2 условия Признак результата 1 текст
Признак результата 2 слово
HTML фильтры  
Значения результата да|нет|не распознано
 
Исходное значение   Результат
какой-то текст, проверяемый на вхождение 2 значений
 
да

 

Действие Параметр Значение
Проверка на 2 условия Признак результата 1 другой текст
Признак результата 2 2
HTML фильтры  
Значения результата да|нет|не распознано
 
Исходное значение   Результат
какой-то текст, проверяемый на вхождение 2 значений
 
нет

 

Действие Параметр Значение
Проверка на 2 условия Признак результата 1 другой текст
Признак результата 2 текст 2
HTML фильтры  
Значения результата да|нет|не распознано
 
Исходное значение   Результат
какой-то текст, проверяемый на вхождение 2 значений
 
не распознано

 

Если оба условия выполнены, - в результат попадёт третье значение результата (не распознано)

Действие Параметр Значение
Проверка на 2 условия Признак результата 1 текст
Признак результата 2 какой-то
HTML фильтры  
Значения результата да|нет|не распознано
 
Исходное значение   Результат
какой-то текст, проверяемый на вхождение 2 значений
 
не распознано

 

Это действие удобно использовать для проверки наличия товара:
(там обычно одно из двух, - либо кнопка В КОРЗИНУ, либо надпись типа НЕТ В НАЛИЧИИ)

Действие Параметр Значение
Проверка на 2 условия Признак результата 1 В корзину
Признак результата 2 заказать
HTML фильтры  
Значения результата есть|нет
 
Исходное значение   Результат
<div class="pd_in_basket">
<a href="javascript:goPage('/users/notice.html?productId=12610')" title="Заказать">Заказать</a>
</div>
 
нет

 

Можно указать НЕСКОЛЬКО вариантов масок для каждого из условий (первые 2 параметра), через разделитель | (вертикальная черта).

Действие Параметр Значение
Проверка на 2 условия Признак результата 1 В корзину|на складе
Признак результата 2 заказать|нет в наличии
HTML фильтры  
Значения результата есть|нет|нет
 
Исходное значение   Результат
<div class="pd_in_basket">
<a href="javascript:goPage('/users/notice.html?productId=12610')" title="Заказать">Заказать</a>
</div>
 
нет

 

Если наличие товара определяется появлением кнопки «В корзину», можно задать HTML-фильтр div class=InStock для поиска этой кнопки, и указать лишь одну маску для результата «Да» (перед проверкой исходное значение будет обработано - будет выполнен поиск первого тега div class=InStock):

Действие Параметр Значение
Проверка на 2 условия Признак результата 1 В корзину|на складе
Признак результата 2  
HTML фильтры div class=InStock
Значения результата в наличии|под заказ|нет данных
 
Исходное значение   Результат
<div class="InStock" alt="В корзину"></div>
 
в наличии

 

Комментарии

Без примера, сложно ответить
Зависит от вложенности тегов, и прочих нюансов

Как указать парсеру, что если следующий после него тег идет с определенными параметрами, то этот тег не добавляем в массив?

Параметры:
LIKE
*/en/catalog/####/*
удалить

Как указать парсеру, используя "проверку выполнения условия", что нужно не принимать ссылки типа: /en/catalog/{четырехзначное число}/{любое значение будь тут буква или цифра}