2016-06-01 7 views
2

Apache NutchをJavaアプリケーションに使用して、1つ以上のWebサイトからWebページをクロールします。基本的には、ページコンテンツ(テキストなど)を処理するために、Webクローラーが検出したWebページごとにJavaアプリケーションのメソッドを呼び出す必要があります。これを達成する方法は?NutchのWebクローリング機能をJavaアプリケーションに統合する

+0

他にも掲載されているこの関連の回答をご覧ください:http://stackoverflow.com/questions/10007178/how-do-i-save-the-origin-html-file-with-apache-nutch/19274588#19274588 –

答えて

3

さて、あなたの質問に"XY Problem"ように見えるあなたが呼び出すことができ、アプリケーションのため、Nutchのは、基本的にはちょうど右のパラメータを持ついくつかのJavaクラスを実行しbin/nutchbin/crawlスクリプト、カスタムJavaアプリケーションでライブラリとして使用することができ適切なパラメータを持つ適切なクラスを使用して、bin/crawlスクリプトを見ると、完全なサイクルクロールを呼び出すための正しい一連のステップ(およびクラス)が提供されます。これは小さなクロールにのみ使用してください。

ここで、XYの問題に戻ると、必要なのはWebページからカスタムテキスト/メタデータを抽出することだけです.Nutch自体を拡張してカスタムアプリケーションを作成する必要はありません。カスタムパーサー/インデックス作成プラグインの後にいるように、記述した内容が表示されます。このような場合は、見出しプラグイン(https://github.com/apache/nutch/tree/master/src/plugin/headings)をご覧になることをお勧めします。このプラグインは、独自のHtmlParseFilterプラグインを作成するのに適しています。カスタムコードを書く必要がありますが、Nutchプラグインに含まれています。

https://issues.apache.org/jira/browse/NUTCH-1870もチェックできます。このプラグインでは、XPath式を使用してHTMLのカスタム部分を抽出することができます。

関連する問題