1

Nutch を使用して Web サイトをクロールし、現在プラグインを作成しています。Jaunt 1.0.0.1 は、HTML の解析に使用されます。たとえば、私は行を持っています

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

ページ上が no の場合、エラーが発生します<div class=info_books_item>。現在、Jaunt JavaDocs を見ていますが、そのような要素があるかどうかを確認する方法がわかりません。

4

1 に答える 1

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){
}
于 2015-07-18T17:00:55.877 に答える