#Book
### クローラーの設計
- 探索方式には2種類ある
- DFS(深さ優先探索)
- BFS(幅優先探索)
- 問題がある
- [[🗃️FIFO(First In First Out)]]方式が採用される。それによって、リクエストが多くなってしまう
- ページの優先順位が考慮されない
- solution: URLフロンティア
- ポライトネス
- 同じホストから、1度に1ページずつダウンロードする
- 優先順位
- prioritizer
- URLの優先順位付けをするコンポーネント
- フレッシュネス
- 情報の鮮度を保っておくために、保存したURLに再度アクセスして更新する必要がある
- 分散クロールで処理する
- 短いタイムアウトを設定する
- 問題のあるページを検出する必要がある
- 重複の検出には、ハッシュやチェックサムを使うとよい
- スパイダートラップ
- リンクを無限でループしてしまうような危険性を排除する