4

小さなパッチでは、Nutch を這わせることができません。パラメーター -depth 7 および -topN 10000 を指定したbin/nutch のクロールコマンドで開始します。私のHDDが空になったときだけ終了します。私は何をする必要がありますか:

  1. アウトリンクをさらに進める可能性があるので、シードのクロールを開始します。
  2. 20000 ページをクロールし、インデックスに登録します。
  3. さらに 20000 ページをクロールしてインデックスを作成し、最初のインデックスとマージします。
  4. ステップ 3 を n 回ループします。

wiki で見つかったスクリプトでも試してみましたが、見つかったすべてのスクリプトはそれ以上進みません。もう一度実行すると、最初からすべてが実行されます。スクリプトの最後には、クロールを開始したときと同じインデックスがあります。しかし、私はクロールを続ける必要があります。

4

1 に答える 1

10

Nutch の生成/取得/更新のサイクルを理解する必要があります。

サイクルの生成ステップでは、クロール データベースから URL ( topNパラメーターで最大数を設定できます) を取得し、新しいセグメントを生成します。最初は、クロール データベースにはシード URL のみが含まれます。

fetch ステップは実際のクロールを行います。ページの実際のコンテンツは、セグメントに格納されます。

最後に、更新ステップは、取得の結果でクロール データベースを更新します (新しい URL の追加、URL の最終取得時刻の設定、URL の取得の http ステータス コードの設定など)。

クロールツールは、このサイクルを n 回実行します深さパラメーターで構成できます

すべてのサイクルが完了すると、クロールツールは起動元のフォルダー内のすべてのインデックスを削除し、すべてのセグメントとクロール データベースから新しいインデックスを作成します。

したがって、求めていることを実行するには、おそらくクロール ツールを使用するのではなく、クロールツールがバックグラウンドで実行している個々の Nutch コマンドを呼び出す必要があります。これにより、クロールの回数を制御でき、反復ごとにインデックスが常にマージされ、削除されないようにすることもできます。

ここで定義するスクリプトから始めて、必要に応じて変更することをお勧めします。

于 2010-04-16T15:10:41.667 に答える