Генератор ссылок из CSV

Тема в разделе "Решение различных задач по парсингу", создана пользователем Sergeyx, 10 фев 2017.

  1. Sergeyx

    Sergeyx New Member Пользователи

    Регистрация:
    10 фев 2017
    Сообщения:
    1
    Добрый день, подскажите, есть файл CSV, в нем столбец csv1 и csv2, можно как-то генерировать ссылки из этого файла, чтобы получилось site.ru/?id=csv1&brand=csv2 ?
     
  2. Root

    Root Администратор Администратор

    Регистрация:
    10 мар 2010
    Сообщения:
    14.818
    Город:
    Барнаул
    Здравствуйте.

    2017-02-11_09-12-30.png

    С уважением к вам, Сергей.
     
    Sergeyx нравится это.
  3. Serheo

    Serheo Well-Known Member Пользователи

    Регистрация:
    13 окт 2018
    Сообщения:
    251
    Город:
    Москва
    У меня задача стоит из файла csv из столбца 1 взять 1-й параметр ссылки, из столбца 2 взять 2-й, перейти по этой ссылке, выполнить команды шаблона вывода и дописать в исходный файл в ту же строку в 3-й и т.д. столбец результаты работы шаблона вывода. Это вообще возможно сделать? Вариант с {key} на вкладке ссылке не подходит. Надо именно считать CSV файл, сформировать из него ссылку, перейти по ней и дописать в CSV данные.
     
  4. Root

    Root Администратор Администратор

    Регистрация:
    10 мар 2010
    Сообщения:
    14.818
    Город:
    Барнаул
    Ссылки недоступны для гостей
    Ссылки недоступны для гостей
    Ссылки недоступны для гостей
    Ссылки недоступны для гостей
    Ссылки недоступны для гостей
     
    Reset нравится это.
  5. Serheo

    Serheo Well-Known Member Пользователи

    Регистрация:
    13 окт 2018
    Сообщения:
    251
    Город:
    Москва
    Это все я уже давно проштудировал. Не нашел как собрать ссылку из 2-х ячеек и перейти по ней. Нужен аналог {key}, но только в шаблоне вывода. Если я чего-то не увидел, ткните носом, пожалуйста.
     
  6. Root

    Root Администратор Администратор

    Регистрация:
    10 мар 2010
    Сообщения:
    14.818
    Город:
    Барнаул
    Макрос [GETCSVDATA] берет данные из ячейки. Поставьте два макроса [GETCSVDATA] рядом (для вывода данных из двух ячеек рядом).
     
  7. Serheo

    Serheo Well-Known Member Пользователи

    Регистрация:
    13 окт 2018
    Сообщения:
    251
    Город:
    Москва
    Что-то при пустом списке ссылок ничего не работает. Можно сделать так, чтобы ссылки были прочитаны именно из csv файла при пустом списке ссылок, а потом в этот же файл в строку со ссылкой, но в другие ячейки были бы дописаны результаты работы шаблона вывода?
     
  8. Root

    Root Администратор Администратор

    Регистрация:
    10 мар 2010
    Сообщения:
    14.818
    Город:
    Барнаул
    Я вам не просто так материалы выше скидывал

    Ссылки недоступны для гостей
     
  9. Root

    Root Администратор Администратор

    Регистрация:
    10 мар 2010
    Сообщения:
    14.818
    Город:
    Барнаул
    Там идея в том, что при запуске парсинга в спике ссылок создаются элементы по количеству строк указанного CSV.
     
  10. Serheo

    Serheo Well-Known Member Пользователи

    Регистрация:
    13 окт 2018
    Сообщения:
    251
    Город:
    Москва
    Однако, врубился. На предпросмотре эта штука не работает. Надо сначала ссылки сгенерить.
     
    Последнее редактирование: 18 июн 2020
    Root нравится это.
  11. Serheo

    Serheo Well-Known Member Пользователи

    Регистрация:
    13 окт 2018
    Сообщения:
    251
    Город:
    Москва
    Еще такой вопрос. Сгенеренная ссылка видна только в логах, а в списке ссылок есть только служебная ссылка типа: [BLANK]бла бла[PARAM]:2.

    А в список ссылок сгенеренную ссылку никак нельзя засунуть? Это надо все только через GETMORECONTENT парсить?

    К связке [GETCSVDATA(1)][PARAM]|1[/GETCSVDATA] можно применить [REPLACE]? При попытке применить [REPLACE] в логах виден сам макрос, а не результаты его работы.
     
    Последнее редактирование: 18 июн 2020
  12. Serheo

    Serheo Well-Known Member Пользователи

    Регистрация:
    13 окт 2018
    Сообщения:
    251
    Город:
    Москва
    В общем, [REPLACE] я успешно применил. Правильную ссылку получил. Через <GETMORECONTENT><GMC_CYCLE> по ней перешел и данные собрал. Но у меня есть несколько обычных границ, которые идут внутри повторяющихся. Это как-то реализуется при помощи <GETMORECONTENT>? Так же есть несколько условий типа {CFILTER} в повторяющихся границах. Это можно сделать в <GETMORECONTENT>?

    Или как-то можно перейти по полученной при помощи [GETCSVDATA] ссылке стандартными средствами CD, не используя <GETMORECONTENT>? Зачем все эти утомительные танцы с бубном?
     
    Последнее редактирование: 20 июн 2020
    Wildbear нравится это.
  13. Serheo

    Serheo Well-Known Member Пользователи

    Регистрация:
    13 окт 2018
    Сообщения:
    251
    Город:
    Москва
    В очередной раз сам спросил - сам ответил.

    Делаем 2 проекта, которые запускаем в планировщике один за другим. В 1-м проекте макросами [GETCSVDATA] и т.д. формируем и записываем в файл ссылки. Переменные кидаем туда же в [PARAM]. Во 2-м проекте считываем эти ссылки из файла, берем переменные из [PARAM] и парсим.

    Если есть решение с одним проектом, то хотелось бы его увидеть.
     

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