2012-06-27 1 views
0

Я пишу сканер для Tripadvisor, используя crawler4j. Мне нужно собрать все обзоры для элемента, но ссылки на «следующие» обзоры (те с номерами) связаны не с ссылкой, а с функцией javascript. Эта функция определена где-то на серверах Tripadvisor. Есть ли способ оценить эти функции и получить страницу, которую они возвращают?Crawler4j и Tripadvisor

ответ

0

Вы попробовали eval? или call, если вам нужно изменить контекст вызывающего абонента.

eval берет строку как ввод и пытается ее выполнить.

0

Вы можете использовать HTMLUnit для получения содержимого страницы. Эта библиотека может использоваться для запуска всех кодов javascript, а затем код страницы для управления.

Ниже приведен пример code, взятый из вопроса о stackoverflow.

HtmlElement element4 = null; 
Iterable<HtmlElement> iterable5 = page.getAllHtmlChildElements(); 
Iterator<HtmlElement> i6 = iterable5.iterator(); 
while(i6.hasNext() { 
    HtmlElement anElement = i6.next(); 
     if(anElement instanceof HtmlImage) { 
     HtmlImage input = (HtmlImage) anElement; 
     String[] elements = "http://example.com/pages/powerbutton.png".split("/"); 

     if(input.getSrcAttribute().indexOf(elements[elements.length-1])> -1){ 
      element4 = input; 
      break; 
     } 
    } 
} 
HtmlPage page = element4.click(); 

 Смежные вопросы

  • Нет связанных вопросов^_^