Парсинг нескольких результатов с помощью Xpath

DeLaKroiX

A-Parser Enterprise License
A-Parser Enterprise
какое-то время назад обращался в сапорт с вопросом, как можно с помощью одного Xpath-выражения спарсить несколько результатов. получил ответ, что никак. собственно отсюда и предложение по улучшению логики парсинга с помощью Xpath-выражений.

пример: берём поисковик (в моём случае это был бинг) и распаршиваем код страницы на предмет тайтлов/дескрипшенов/линков/вопросов/ответов. проблема заключается в том, что с помощью одного выражения с переменной невозможно спарсить несколько результатов. например для парсинга вопросов можно использовать выражение
Код:
//html/body/div[1]/main/ol/li[2]/div/div/div[1]/div/div[2]/div/div[{$i}]/div/div[1]/div[1]/div
где переменная "i" - счётчик, который можно было бы использовать средствами апарсера (как в Use Pages в парсере Net::HTTP), изменяя её от 1 до 4, чтобы получить 4 результата из выдачи. например сделать переключатель, сколько будет результатов - 1 или массив, и в случае массива использовать определённую переменную для перебора.
 
Если использовать XPath запрос, который возвращает не одно, а все совпадения, то вполне можно получить массив результатов:
Код:
html/body/div[*]/main/ol/li[2]/div/div/div[1]/div/div[2]/div/div[*]/div/div[1]/div[1]/div
wm4tp_210527113324.png

m0afo_210527113039.png
 
а, вот оно чё ) я с Xpath ток познакомился, большое спасибо )
 
Назад
Верх