2012-01-09 12 views
0

私はJavaでサイトクローラを作成していますが、それを実行する最も賢明な方法は何ですか?言い換えれば、私は標準的なWebアプリケーションのルートに行くとWebサーバーに入れて、メッセージキューのいくつかの種類を使用するか、私はコンテナについて忘れて、スタンドアロンのJavaアプリケーションとして実行するのですか?サイトクローラの実行

これは実際のウェブクローラーではなく、x個のサイトのみを対象としていますが、最新のコンテンツがあることを確認するためにこれらのサイト(24時間)を常に循環させたいと考えています。

+0

もし私がWebクローラで実行していないのであれば、それをシェルのcronジョブとしてスケジューリングするのには不十分です。 – Nefsu

答えて

1

ウェブリクエストを介してウェブクローラにアクセスできるという利点がありますか?そうでない場合は、Webコンテナに入れる理由はありません。


...しかし、私は常に私は、最新のコンテンツを持っていることを確認するために、これらのサイト(24時間)を巡回することにしたいです。

あなたには、これを行うためのサイト所有者の同意/許可が必要です。そうしないと、技術的または法的措置を取る可能性が高くなります。

Danny Thomasによれば、クローラに「robots.txt」ハンドラを実装し、クロール時にこれらのファイルの内容を尊重する必要があります。


私はので、私は訪問必要なサイトの数の少なくとも別の10〜15時間、再び同じページを訪れないかもしれない

フォロー。それはまだ一般的にはあまりにも多くのクロールと考えられていますか?

これは正しい質問ではありません。適切な質問は、特定のサイト所有者がそれをあまりにも多くクロールすると考えるかどうかということです。

  • どのくらいの費用がかかりますか?クロールによる負荷に対処するために余分な作業が必要ですか?容量を追加する必要がありますか?ランニングコストが増加しますか? (ネットワーク料金、電力?)

  • 収入を減らす可能性のあるコンテンツを使っていますか。例えばサイトの実際のヒット数、広告のクリックスルー数を減らす

  • クロールからどのようなメリットがありますか?

  • あなたは公共財のために何をしていますか? (またはそれはあなたが彼らのコンテンツのうち、バックを作るためだけの方法です?)

実際にそれらを尋ねるにある知るための唯一の方法。

+0

すべてのクローラはrobots.txtにも従うべきであり、一般的にスティーブンの考えに加えて良い市民になるための措置を講じる必要があります。おかげさまで –

+0

ええ、Webリクエストでアクセスする必要があるシナリオはありません。クローラーが常に生きていきたいと思っていますが、訪問が必要なサイトの数が多いため、同じページを少なくとも10〜15時間はもう一度訪問しない場合があります。それはまだ一般的にはあまりにも多くのクロールと考えられていますか?そして、もちろん、私はrobot.txtの要件に必ず従います。 – Nefsu

+0

おかげでスティーブンC.便利なフィードバック。さまざまなサイトでこれらの問題を検討します。これらの人の大部分は巨大なオンライン小売業者なので、これについて問題があるかどうかを確認します。 – Nefsu

関連する問題