8


3

WebクローラーのHTTP要求に対する適切なエチケット

キャッシュと索引付けが必要なWebサイトのサイトマップからすべてのページを要求するための単純なWebクローラーがあります。 いくつかの要求の後、ウェブサイトは空白のページを提供し始めます。

彼らの `robots.txt`には、彼らのサイトマップへのリンク以外は何もないので、私は彼らの"規則 "を破っていないと思います。 私の意図と正確に関連する説明的なヘッダーがあり、私がクロールするページはそれらのサイトマップからのものだけです。

httpステータスコードはすべてまだ問題ないので、短期間で大量のhttpリクエストを防止しているとしか想像できません。 リクエスト間の妥当な遅延量とは何ですか?

私が見落としていた、この問題を引き起こす可能性のある他の考慮事項はありますか?

2 Answer


9


サイトごとに、クローラや悪用の特性が異なります。

クローラの鍵は、人間の行動をエミュレートし、robots.txtに従うことです。

徹底的なクロールはいくつかのウェブサイトをトリップするでしょう、そしてそれらはあなたが行く速度に関係なくあなたをシャットダウンするでしょう、一方何人かのホストはクローラーが一緒に動き回ってすべてを吸い上げることを気にしません。

  • 一般に、1分あたり6ページを超える速度でページを要求したくはありません(人間の速度について)。

  • Webページ上での表示順に従うと、リンクをたどることがより安全になります。

  • Webページに表示されていないリンクを無視するようにします(多くの人がハニーポットを使用します)。

他のすべてが失敗した場合は、1分あたり1ページよりも早くリクエストしないでください。 Webサイトがこの速度であなたをブロックしているのであれば、直接連絡してください - 彼らは明らかにあなたにそのような方法で彼らのコンテンツを使わせたくありません。


2


私はウィキペディアにこのトピックに関する 適切な参照があると思います。 彼らに従いなさい、そして礼儀で、もう少し。

たとえば、1秒あたり1ヒットで接続速度を最大化したり、不注意によるDoS攻撃の危険性があります。