Как сделать парсер ссылок?



  • Кажется не сложно, но что-то делаю не так. Загружаю страницу (проекты фрилансхант). Выбираю "Для каждого элемента/начать цикл находит нужное количество элементов (15). Внутрь этого цикла вставляю "для каждого элемента/получить атрибут элемента (находит 15 элементов". Далее в том же цекле "начать цикл" вставлю вывести в лог переменную в которую сохранил ссылку элемента. Но все время выводится только одна первая ссылка. Я уже и так и сяк пробовал, и FAQ читал и видео смотрел, вроде все правильно, а всеравно не работает...


  • administrators

    @ForceUtf8
    @support said in Как спарсить?:

    Спарсить все ссылки очень легко с помощью "Xpath получить каждый элемент" с параметром //a/@href



  • Есть
    Xpath получить xml
    Xpath получить каждый xml
    И получить текст.
    Когда выбираю "Xpath получить каждый xml", то требует ввести "текст для применения", а у меня он везде разный


  • administrators

    @ForceUtf8 Текст для применения это код страницы. Получите его одноимённым экшеном. В итоге получите список всех ссылок.



  • @Fox последний вопрос :) я просто по образованию не программист. (кажется и призванию наверное) :)
    Код страницы - это ссылка страницы? Экшен - это действия которые всплывают при нажатии на окно браузера я так понял.
    Т.е. Создаю для каждого элемента цикл, внурть этого цикла добавляю "получить для каждого элемента"/" получить текст" (сохраню в переменную), затем " Xpath получить каждый элемент" (в текст подставлю значение переменной). А в "Xpath Запрос" подставлю //a/@href (зачем кстати двойной //?) переменную оставляем например XPATH_TEXT_LIST, а затем выводим в лог значение этой переменной. И это все внутри цикла Экшен /Для каждого элемента/ Начать цикл?



  • @ForceUtf8 после загрузки в браузере получите код страницы кубиком который указан стрелкой, это будет переменная
    которую надо вставить вобработку XPATH
    alt text


  • administrators

    @ForceUtf8 Проще один раз увидеть, чем сто раз описывать и рассказывать. Вот тестовый скрипт.



  • Спасибо за такое разжовывание, кажется понял как делается, сам бы не додумался конечно.
    А как понять, что в "Xpath получить каждый текст" надо писать именно //*[@class="r"]//a/@href Откуда это копируется? В моем случае скорей всего что-то другое надо будет писать. Или это понятно для тех кто знает что такое Xpath?


  • administrators

    @ForceUtf8 Вот хороший мануал по Xpath.

    А как понять, что в "Xpath получить каждый текст" надо писать именно //*[@class="r"]//a/@href

    XPath (XML Path Language) — язык запросов к элементам XML-документа.

    Откуда это копируется?

    Можно получить Xpath через firebug (кнопкой f12), правой клавишей мыши на нужном элементе, скопировать Xpath. Но он скорее всего выдаст абсолютный путь, который будет работать не для всех ситуаций.