1. Вступайте в наш Telegram чат: https://t.me/a_parser Нас уже 2600+ и мы растем!
    Скрыть объявление

Подстановка запросов из нескольких файлов

Тема в разделе "Техническая поддержка", создана пользователем aquatell, 14 апр 2020.

  1. aquatell

    aquatell A-Parser Pro License
    A-Parser Pro

    Регистрация:
    8 ноя 2012
    Сообщения:
    150
    Симпатии:
    43
    Будьте добры, подскажите как реализовать:
    если выбрать сразу несколько файлов в запросах, пусть это будет red.txt, pink.txt, green.txt
    и на выходе получить примерно такие файлы: red_rez.txt, pink_rez.txt, green_rez.txt, где в каждом файле будет результат выполнения запроса из определенного ему файлу запросов с таким же наименованием, но без приставки "_rez".

    Сейчас приходится каждый файл подсовывать и ждать завершения его обработки, нужно чтобы все файлы сразу обрабатывались. A-parser ведь дает выбрать сразу несколько файлов на запрос, а вот как разбить на итоговые файлы чтобы они соответствовали в наименовании тому файлу из которого был взят запрос?
     
  2. Support Vlad

    Support Vlad A-Parser Enterprise License
    A-Parser Enterprise

    Регистрация:
    6 апр 2020
    Сообщения:
    132
    Симпатии:
    34
    Вам нужно использовать переменную $queriesfile в поле "Имя файла", она содержит название файла с запросами, правда вместе с расширением. Вы можете прописать
    Код:
    [% queriesfile.remove('\.txt$') %]_rez.txt
    , тогда файл с результатами будет таким же, как и у вас в примере.
     
    aquatell нравится это.
  3. relay

    relay A-Parser Enterprise License
    A-Parser Enterprise

    Регистрация:
    22 июл 2013
    Сообщения:
    157
    Симпатии:
    103
    Если я правильно понял, то так:
    [% queriesfile.last.replace('.txt','_rez.txt') %]
     
    aquatell нравится это.
  4. aquatell

    aquatell A-Parser Pro License
    A-Parser Pro

    Регистрация:
    8 ноя 2012
    Сообщения:
    150
    Симпатии:
    43
    Не совсем так.
    Например на входе отмечено 3 файла и на выходе должно получится 3 файла, в каждом файле будет результат выполнения запроса из того файла откуда был взят этот самый запрос. И чтобы не сваливать все результаты в общий котел, хотелось бы чтобы результаты были раздельно по файлам.
     
  5. Support

    Support Administrator
    Команда форума A-Parser Enterprise

    Регистрация:
    16 мар 2012
    Сообщения:
    4.547
    Симпатии:
    2.164
    Именно так и будет, если
    [​IMG]
    [​IMG]

    Можно написать и так
    Код:
    [% queriesfile.replace('.txt', '_rez.txt') %]
    суть от этого не поменяется.
     
    Force68 и aquatell нравится это.
  6. Force68

    Force68 A-Parser Enterprise License
    A-Parser Enterprise

    Регистрация:
    25 фев 2013
    Сообщения:
    175
    Симпатии:
    49
    А как бы сделать тоже самое только для цепочки парсеров - где задания передаются от парсера к парсеру а промежуточные результаты переписываются? Т.е. чтоб связка парсеров брала файлы из папки заданий по очереди и обрабатывала их по одному до конечного результата
     
  7. Support

    Support Administrator
    Команда форума A-Parser Enterprise

    Регистрация:
    16 мар 2012
    Сообщения:
    4.547
    Симпатии:
    2.164
    Не очень понятен вопрос... Но наверное точно так же, используйте $queriesfile для получения имени файла запросов текущего задания. В цепочке заданий следующее задание ничего не знает о предыдущем, поэтому никакие данные между ними не передаются (кроме файла результатов в качестве файла запросов для следующего, если включена такая опция).
     
    aquatell и Force68 нравится это.
  8. aquatell

    aquatell A-Parser Pro License
    A-Parser Pro

    Регистрация:
    8 ноя 2012
    Сообщения:
    150
    Симпатии:
    43
    Выбрал несколько десятков файлов и прессете подставил где файл результата $queriesfile в результате вместо одной задачи, создалось равное количеству файлов которые были отмечены.
     
  9. Support

    Support Administrator
    Команда форума A-Parser Enterprise

    Регистрация:
    16 мар 2012
    Сообщения:
    4.547
    Симпатии:
    2.164
    Так и должно быть :)

    Цитата из Документации:
     
    aquatell нравится это.

Поделиться этой страницей