この設計上の質問にぶつかったとき、私はphpでスクレーパーとスパイダーを構築していました。クモのクロールとスクレイピングのタスクを分離するシステム (ほとんどのプロのシステムがそうであるように) を作成することと、クモがクロールするときにスクレイピングを行うシステムを作成することとの間のトレードオフについて疑問に思っていました。私が考えることができる唯一のことは、それを分割してキューを使用することで、スクレイピングする次のページをキューに尋ねるだけでよい複数のスクレイパーを用意することで、タスクをより適切に並列化できるということです。誰かが他のトレードオフを考えて、これらが通常 2 つのプログラムに分かれている主な理由を説明できますか?
注: クロールの順序はどちらの場合も同じです。唯一の違いは、ページがプルされるタイミングです。