- 新しくWEBにアップロードされたコンテンツを探すために用いられる
- WEB page, 画像,動画,PDFなど
- 使用目的は?
- 基本的なアルゴリズムはシンプル
- 与えられたURLの集合からWEBページを全てダウンロードする
- WEBページからURLを抽出する
- 抽出したURLからWEBページを全てダウンロードする
- 上記を繰り返す
一見単純に見えるが,スケーラブルなクローラーを設計するのは大変
要件の理解と明確化を行う
- クローラーの主目的は?
- サーチエンジンにおけるindexingのため
- 1月あたりどれくらいのWEBページを収集する?
- 1 billion pages
- コンテンツの種類はどんなのがある?
- HTMLのみ
- WEBページが追加/編集される場合を考慮する必要がある?
- はい.どちらも
- WEBからクロールされたHTMLページは貯める必要がある?
- 最長5年
- 重複しているコンテンツはどう扱う?
- 無視してかまわない
- Scalability
- WEBは巨大なので,並列化などを用いながら効率的にする必要がある
- Robustness
- BAD HTML,応答がないサーバ,間違っているリンクなど落とし穴がたくさん存在する.これらにも対応できる必要がある
- Politeness
- 短時間で大量のリクエストを送ってはいけない
- Extensibility
- 新しい種類のコンテンツに小規模の変更で対応可能でないといけない.
以下では,各構成要素についてみていく
いわばエントリーポイント.例えば大学のWEBサイトを設定するのが直感的かも.
- DFS vs BFS
- URL frontier
- HTML Downloader
- Robustness
- Extensibility
- Detect and avoid problematic content