Jaunt - 检查是否有特定元素

时间:2015-07-17 09:25:22

标签: html parsing element nutch jaunt-api

我正在使用Nutch抓取网站并正在编写插件。 Jaunt 1.0.0.1用于解析HTML。 例如,我有一行

Element infoBooksItem = body.findFirst("<div class=info_books_item>");

当页面上没有<div class=info_books_item>时,获取和错误。 目前我正在寻找Jaunt JavaDocs,但无法弄清楚如何检查,是否有这样的元素。

1 个答案:

答案 0 :(得分: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){
}