Запуск нескольких парсеров по очереди

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

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

Создаём новый парсер, и в Исходных данных добавляем 3 действия:

Действие Параметр Значение
Получить список настроенных парсеров Маска имени парсера *
Проверка на выполнение условия Режим проверки содержит
Значение для сравнения .рф
Действие при выполнении условия Удалить
ДИАЛОГОВОЕ ОКНО выбора элементов Режим выбора по умолчанию 1 - выбор нескольких
Доступные режимы выбора все
Выделять по умолчанию -1 - все значения
Заголовок окна Выберите парсеры для запуска
Запускать, только если нажата клавиша Ctrl

 

Вообще, достаточно было бы одного действия (первого) для получения списка всех настроенных парсеров.
Дополнительные действия служат для фильтрации списка, — автоматической (второе действие удаляет «лишние» парсеры из списка по заданной маске), и ручной (третье действие выведет диалоговое окно выбора парсеров, если при запуске парсера удерживать нажатой клавишу Ctrl)

 

Итак, список парсеров для запуска мы получили, и осталось их запустить.
Для этого, добавляем подуровень у исходных данных, и добавляем туда ещё 3 действия:

Действие Параметр Значение
Сохранить текущее значение в переменную Название переменной name
Прогресс-бар: вывод информации Номер строки индикатора 1
Тип обрабатываемого значения Парсер
Значение %name%
Запустить другой парсер Название парсера %name%

 

Собственно, на этом всё.
Теперь мы запускаем один этот парсер «ВСЕ САЙТЫ», а он уже запустит все остальные:

Готовые настройки такого парсера прикреплены в конце этой статьи.