礼儀正しく高速なウェブクローラーの構築:得られた教訓

2025-01-05

MozillaのエンジニアであるDennis Schubert氏は、分散型オープンソースソーシャルネットワークであるDiasporaのサーバー負荷の70%が、いくつかの大企業のLLMにデータを提供する、動作の悪いボットから来ていることを最近発見しました。総トラフィックの40%を占める最悪の犯人は、OpenAIとAmazonでした。この記事では、礼儀正しく高速なウェブクローラーを構築した際の著者の経験について詳しく説明し、レート制限、robots.txtの尊重、再フェッチの最小化、効率的なキューイングなどをカバーしています。Pythonとgeventを使用することで、レート制限のためにドメインごとにコルーチンを割り当て、Postgresを効率的なキュー管理と重複排除に利用しています。この設計により、ターゲットウェブサイトを尊重しながら、高速で効率的なクロールが可能になります。

続きを読む