August 13, 2005
尾内研究室クローラ勉強会 レジュメ
第一回 http://blog.windy.ac/archives/onailab_crawler_study_meeting_part1.pdf
第二回 http://blog.windy.ac/archives/onailab_crawler_study_meeting_part2.pdf
第三回 http://blog.windy.ac/archives/onailab_crawler_study_meeting_part3.pdf
第四回 http://blog.windy.ac/archives/onailab_crawler_study_meeting_part4.pdf
第五回 http://blog.windy.ac/archives/onailab_crawler_study_meeting_part5.pdf
これは何ですか
僕の研究室で去年の夏に開催した「クローラ勉強会」のレジュメです。全部で5回分あります。
クローラ勉強会とレジュメの中身について
クローラ勉強会は、僕の研究室の有志6〜7名によって、以下のような目標のもとで行われました。
・クローラについて基礎的な知識を得る
・オープンソースなクローラ「JSpider」のソースコードを読んで、その動作を知る
・JSpiderを弄くって用途に応じた機能を追加したりできるようになる
レジュメの内容もこれに沿ったものになっています。
第一回目の前半で、クローラについて軽く説明。第一回目の後半以降は、ひたすらJSpiderのソースコードを追っかけています。いかんせん内容がニッチなもので、あまりこんなものを必要とする人は居ないだろうとも思うのですが、クローラについて知りたいとか、自分でクローラを書きたいとかいう人にはそれなりに役に立つかも知れません。……誰かの役に立つと良いのだけど。
JSpiderについて
JSpiderは中〜小規模のクローリングを目的としたオープンソースなクローラです。あるWebサイトをまるごとクローリングする、あるURLを起点としてそこから数階層をクローリングする、といった用途を対象として設計されています。googlebotやYahoo! Slurpのように、億単位のWebページを蒐集することは想定されていません。
言語はJAVA、ライセンスはLGPLです。251のクラスから成り、ソースコードの総量は419KBです。あまり苦にせず片手間にでも読める規模かと思います。pureなJavaで書かれているので、Windowsでも動きます。クラス構造が洗練されており、カスタマイズ性が高いです。ドキュメントもそこそこ優秀です。また、僕の研究室では「もぶろげっと」というblog検索エンジンを公開していますが、このシステムのクローラには、JSpiderをカスタマイズしたものを使っています。
クローラのソースコードを読みたいという人、クローラを作りたいけど1から作るのはだるいから既存のものをカスタマイズして対応したいという人、どちらにも概ねお勧めできると思います。ソースコード・クラス構造ともに綺麗で読みやすいことと、プラグインで機能を拡張できるなどカスタマイズ性が高いということがメリットといえます。
JSpiderのWebサイトはこちらです。
JSpider
http://j-spider.sourceforge.net/
再配布等について
リンク、再配布など、ご自由に。
内容に間違いや気になる点があれば、御指摘を歓迎します。
Trackback
You can ping this entry by using http://windy.ac/MT/mt-tb.cgi/841 .
