Прогулка - проверьте, есть ли определенный элемент
Я использую Nutch для сканирования сайта и в настоящее время пишу плагин. Jaunt 1.0.0.1 используется для разбора HTML. Например, у меня есть строка
Element infoBooksItem = body.findFirst("<div class=info_books_item>");
Который получает и ошибку, когда на странице нет <div class=info_books_item>
, В настоящее время я смотрю Jaunt JavaDocs, но не могу понять, как проверить, есть ли такой элемент или нет.
1 ответ
Вы правы в том, что метод findFirst выдает исключение, если элемент не найден. Вы можете использовать блок try-catch, чтобы перехватить исключение NotFound в вашем коде, и взять его оттуда, или если вы можете написать вспомогательный метод, который не выдает исключение (если вам просто нужен логический детектор)
public boolean has(Element element, String target){
try{
element.findFirst(target);
return true;
}
catch(NotFound n){
return false;
}
}
В качестве альтернативы вы можете использовать метод findEvery, который не выдает исключение, в качестве логического детектора:
if(body.findEvery("<div class=info_books_item>").size() > 0){
}