トップ «前の日記(2014年10月13日) 最新 次の日記(2014年10月15日)» 編集

KeN's GNU/Linux Diary
... 料理とDebianと雑多な記録


2014年10月14日

_ [review] 『Rubyによるクローラー開発技法』

Rubyによるクローラー開発技法 巡回・解析機能の実装と21の運用例
るびきち/佐々木 拓郎
SBクリエイティブ
¥ 3,218

読了。

着眼点の良い制作物を数々出されている「るびきち」さんが関わられていることに期待したとおり、本書もまた楽しく勉強になる1冊だった。

"クローラー"と聞くとつい「Baidu Spider……ミリ秒単位アクセスDoS……Deny from設定……う、頭が」となってしまうのはWebサーバー担当者の各々方にはやむを得ないところだろう。

本書はRubyのクローラーライブラリのAnemoneを軸に、クローリング概念、Nokogiriによるパース、SQLite/MongoDB等へのデータベース格納といった基本の技術のほか、Capybaraによる高度なブラウザ型クローリング、そして単純なクローリングとは異なるTwitterやGoogle、AmazonのAPI利用までもその範疇としている。もちろん、クローラーを扱う上では話題として欠かせない、robots.txtの尊重の必要性や、岡崎市立中央図書館事件についても言及されている。

また、Windows版のRubyをしっかり取り上げて、ライブラリの動作確認までしている本というのは珍しいように思う。

読者はRuby言語にある程度慣れていることを想定しており、実は「Rubyによるクローラー開発技法」というよりも「クローラー開発技法を通してRuby(と便利なgemライブラリ)をより深く知る」という裏の目的もあるのではないかと感じてしまうほど、次々と目新しいメソッド(Array#zip知らなかった!)やgemライブラリが登場する。特に、HTML/XML操作ライブラリのNokogiriについては、名前空間の管理など公式ドキュメントなどを見てもよくわからなくて困っていたのだが、本書でずいぶん理解できるようになった。

ただ、一般にgemは名前から機能を推測・判断しづらくてすぐ忘れてしまうので、登場するgemの名前と機能概要の一覧を本書内かサポートサイトにあげておいていただけると、助かるのではないかと思われる。

ともあれ、クローラーに限らず、Ruby初級者〜中級者に新たな技術的興奮を与えてくれる良い本。

_ [cooking] ローストチキン


オーブンでさくっと作成。