7

サーバーに過負荷をかけないように、クローラーが同じサーバーに繰り返しヒットするまで待機する必要がある標準的な時間はありますか?

そうでない場合は、クローラーが礼儀正しいと見なされるまでの適切な待機期間に関する提案。

この値もサーバーごとに異なりますか...もしそうなら、どうやってそれを決定できますか?

4

4 に答える 4

3

IBM に関するこの記事では、Web クローラーがロボット除外プロトコルを使用する方法と、Web クローラーの再クロール間隔設定について詳しく説明しています。

記事を引用する。

ページが初めてクロールされるとき、クローラーは、ページがクロールされた日時と、指定された最小および最大の再クロール間隔の平均を使用して、再クロールの日付を設定します。その日付より前にページが再クロールされることはありません。その日付以降にページが再クロールされる時間は、クローラーの負荷と、クロール スペース内の新しい URL と古い URL のバランスによって異なります。

ページが再クロールされるたびに、クローラーはコンテンツが変更されたかどうかを確認します。コンテンツが変更された場合、次の再クロール間隔は前の再クロール間隔より短くなりますが、指定された最小再クロール間隔より短くなることはありません。コンテンツが変更されていない場合、次の再クロール間隔は前の再クロール間隔より長くなりますが、指定された最大再クロール間隔より長くなることはありません。

これは彼らの Web クローラーに関するものですが、独自のツールを作成する際に読むのに非常に役立ちます。

于 2009-04-28T18:26:40.837 に答える
1

これは少し遅れているかもしれませんが、答えはこの質問の助けにはなりませんでした。私も、クローラーがサーバーにヒットする頻度について心配しています。特に、「1秒間に何度もヒットし、受け入れられない」というボットを許可していないwikipedia.orgのrobots.txtを読んでください。

Web Crawler Architecture - http://research.microsoft.com/pubs/102936/EDS-WebCrawlerArchitecture.pdfというタイトルの興味深い MS Research の記事を見つけました。以下は、礼儀について話している論文からのものです。

多くのポライトネス ポリシーが考えられます。実装が特に簡単なのは、同じ Web サーバーへの同時要求を禁止することです。もう少し洗練されたポリシーは、特定の Web サーバーに再度接続する前に、最後のダウンロード時間に比例する時間を待機することです。

于 2012-03-15T05:00:36.887 に答える
0

これは、コンテンツが変更される頻度によって異なります。たとえば、静的な記事が掲載されているサイトよりも頻繁にニュース サイトをクロールすることは理にかなっています。

最適な方法を正確に決定する方法については、最新のデータを持つことの価値に対して、フェッチ、インデックス作成などのコストをどのように判断するかによって異なります。それは完全にあなた次第ですが、観察に基づいてサイトが時間の経過とともにどれだけ変化しているかを判断するには、おそらくいくつかのヒューリスティックを使用する必要があります. 3 回連続してフェッチしてもサイトが変更されていない場合は、次回のフェッチまでもう少し待つことをお勧めします。逆に、フェッチするたびにサイトが常に変更される場合は、更新を見逃さないように、もう少し積極的にする必要があります。

于 2009-04-28T18:23:26.397 に答える
0

現在のサーバーの負荷とサーバーの能力に大きく依存するため、サイトにアクセスできる頻度に最小間隔があるとは思いません.

応答時間とタイムアウト率をテストすることができます。1 つのサイトの応答が遅い場合やタイムアウト エラーが発生する場合は、クローラーが遅延や時間の原因ではない場合でも、再ヒット間隔を長くする必要があります。 -アウト。

于 2009-04-28T19:05:19.760 に答える