Переменные в парсере

Надстройка «Парсер сайтов» позволяет использовать переменные для временного сохранения значений, с целью использования этих значений в других настройках / действиях программы.

Переменная имеет имя и значение. Указывая имя переменной, мы можем записать в неё произвольное значение, либо считать ранее сохранённое значение.

Использование переменных сильно упрощает настройку сложных парсеров, позволяя более гибко манипулировать данными при обработке.

Область видимости переменных

Доступны 2 варианта: parser (применимы в любом разделе настроек / в любом действии парсера), и row (применимы только внутри одной выводимой / обрабатываемой строки)
Область видимости row практически не используется, оставлена в целях совместимости с прежними версиями
(всегда используйте только облась видимости parser, если есть возможность выбора)
 

Время жизни переменных (с момента записи значения в переменную)

для переменных уровня row - с момента начала вывода строки на лист, до перехода к выводу другой строки
для переменных уровня parser - до завершения работы парсера
 

Требования к имени переменной

Имя переменной не должно содержать в имени следующие символы:

  • * (звёздочка)
  • % (процент)
  • ? (знак вопроса)
  • # (решётка)
  • ! (восклицательный знак)

Любые другие символы использовать можно (русские и английские буквы, пробелы, и вообще что угодно)

Подстановочные символы (*, ?, #) могут использоваться в действии «Очистить значение переменной» для очистки сразу нескольких переменных, поэтому для переменных, содержащих эти символы в названии, очистка переменных работать не будет (в остальном - проблем нет, т.е. эти символы использовать можно, просто нежелательно)

Символ % используется для обращения к переменной из параметров действий (запись вида %VarName%), поэтому его использование в имени переменной недопустимо.

Символ ! (восклицательный знак), начиная с версии программы 3.7.0 (май 2020 года), используется для переменных-словарей, когда в одной переменной сохранено несколько именованных значений (переменная имеет не текстовый тип, как «обычные» переменные, а тип Dictionary)
 

Доступ к переменным

Сохранение данных в переменные производится 4 способами:

Обращение к переменным в настройках производится 2 способами:

  • специальным действием Считать значение переменной
  • указанием имени переменной в любом параметре любых действий, в виде %ИмяПеременной%
    (добавляем символы % до и после названия переменной, чтобы программа поняла, что этот текст надо заменить значением переменной)
     

Типы переменных

По умолчанию, все переменные имеют общий / текстовый тип.
В такую переменную сохраняются любые данные, используемые парсеров (текст, HTML, числа, массивы значений).
Что записали в переменную, то потом из неё и считали.

Начиная с версии программы 3.7.0 (май 2020 года), поддерживается новый тип переменных: переменные-словари (тип Dictionary, - для тех, кто знаком с языком программирования VBA).
Dictionary — это словарь, позволяющий хранить пары вида Название - Значение (именованный массив). Названия (имена элементов внутри словаря) должны быть уникальными, — в словаре не может быть несколько отдельных записей с одинаковым названием.

Названия таких переменных-словарей имеют вид DicName! (название переменной завершается символом !), а обращение к отдельным записям (именованным элементам словаря) производится с использованием синтаксиса DicName!VarName (название переменной-словаря, потом восклицательный знак, потом имя элемента в словаре).

Более подробная инструкция с примерами использования переменных-словарей будет доступна позднее.