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