クロールの速度制限、所要時間はどう計算する?
多くのサイトはrobots.txtやサーバー負荷防止のため、クロールリクエスト間の遅延を求めます。このツールは総収集ページ数を同時リクエスト数(concurrency)で割り、リクエスト間の遅延を掛けて全体のクロールにかかる予想時間を計算します。
計算式は総所要時間 = (ページ数 ÷ 同時リクエスト数) × 遅延(秒)です。例えば1万ページを同時リクエスト5個、遅延2秒で収集する場合、(10,000 ÷ 5) × 2 = 4,000秒、約1時間6分かかります。同時リクエスト数を増やせば時間を短縮できますが、対象サーバーのポリシーを超えるとブロックされる可能性があるため、必ず利用規約とrobots.txtを事前に確認してください。
実際のクロールでは、ネットワーク遅延、ページレンダリング時間、失敗時の再試行ロジックが追加されるため、実際の所要時間はこの計算値よりやや長くなることが多いです。余裕を持ってスケジュールを組むことをお勧めします。
よくある質問
遅延を減らせば常に速くなる?
遅延を減らせば時間は短くなりますが、対象サーバーのrobots.txtや利用規約で定められた速度制限を超えると、IPブロックや法的問題が発生する可能性があります。
同時リクエスト数を無制限に増やしてもいい?
対象サーバーに負担をかけない範囲内でのみ増やすべきです。多くのサイトでは同時接続数にも別途制限が設けられています。
実際の所要時間は計算値と異なることがある?
はい。ネットワーク遅延、サーバー応答時間、再試行ロジックなどが加わると、実際の所要時間はこの計算値より長くなることがあります。