Если фри, то выше кинули, если через сервисы, можно также "вдохновиться" моим скриптом решалки Яндекс капчи, там ровно такая же суть, но прикручено решение через антигейт (с ручными индусами), но можно так и любой сервис с индусами прикрутить. Решение на гуру не чекал, баланса небыло на аке)
Выражение для Http клиент- Xpath получить текст
-
Вот в таком формате забрал через веб страницу
>XPATH> id("page")/tbody[1]/tr[3]/td[@class="center"]/table[@class="zero"]/tbody[1]/tr[1]/td[1]/table[@class="center results wide home"]/tbody[1]/tr[2]/td[2]Как теперь преобразовать для Http клиент- Xpath получить текст? Попробовал так:
//id("page")/tbody[1]/tr[3]/td[@class="center"]/table[@class="zero"]/tbody[1]/tr[1]/td[1]/table[@class="center results wide home"]/tbody[1]/tr[2]/td[2]Выходит ошибка
Can't resolve query //id("page")/tbody[1]/tr[3]/td[@class="center"]/table[@class="zero"]/tbody[1]/tr[1]/td[1]/table[@class="results wide home"]/tbody[1]/tr[2]/td[2]Если пробую
//*[contains(@class,'results wide home')]Забирает слишком много данных.
Заранее спасибо за ответы.
-
@romanbiz А зачем использовать модуль http? В нём действие Xpath получить текст работает с телом последнего запроса. Для других действий есть отдельный модуль Xpath

В нём можно указать переменную, к которой применять xpath

Получаете код в переменную и используете её в экшене.
-
Делаю get запрос, затем забираю из него текст. Так более компактно получается. Можете подсказать как сделать через Http клиент - Xpath получить текст?
Скиньте код страницы и то, что нужно из неё получить.
Это чтобы помочь вам составить нормальное Xpath выражение.
Получается по какому-то алгоритму прозрачному трансформировав Xpatch полученный в браузере не получится?
Иногда разметка из браузера отличается от разметки из http клиента, изменяется скриптами под определённые параметры браузера.