【问题标题】:Jaunt - check if there is specific elementJaunt - 检查是否有特定元素
【发布时间】:2015-07-17 09:25:21
【问题描述】:

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

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

当页面上没有&lt;div class=info_books_item&gt; 时,会发生错误。 目前我正在查看 Jaunt JavaDocs,但不知道如何检查,是否有这样的元素。

【问题讨论】:

    标签: html parsing element nutch jaunt-api


    【解决方案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){
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-03-13
      • 1970-01-01
      • 1970-01-01
      • 2013-07-31
      • 2011-12-12
      • 2011-10-06
      • 2022-06-25
      相关资源
      最近更新 更多