Google From Scratch
技術力がすごいとかいうことで有名な Google なのですが、Googleによく似たシステムをスクラッチから作れるのかっていうことに興味があったのでやってみることに。 作るきっかけなのですが、「GoogleやYahoo!って、ホゲホゲって感じのindex張ってくれないのかなぁ。張ってくれないのなら自分で興味本位で作ってみるか」とか思って。 まずはWebページのクローラからだなぁ。
ってことでクローラーを書いてみたり。 とってくるデータがHTMLだったりPDFだったりするので、それぞれに応じた parser を作らなければならないんだなぁと気づく。 HTMLの場合、リンク先の調べ方に <a href="...">
以外にも <link>
や <meta>
などのタグにも対応しなければならないことに気づいた瞬間に WWW::Mechanize を使うのをヤメ。 HTML::TokeParser とか使って今後の拡張性も意識しつつコーディング中。
ある程度 crawler ができたら、そいつの scheduler や storage, indexer など作るのか。 あぁ Google Filesystem みたいなのが必要なのか。
道のりは果てしなさそうだけど、飽きなければ続けるネタが尽きることなさそうだ。
コメント
コメントを投稿