私が何度も何度も断念しているプログラミング言語「Ruby」。断念している理由は「開発したいものがない。というか、開発しなければならない事態になったときは納期や周辺環境の問題でRubyを選択出来ない」という非常に単純なことなのですが。
実は以前から「クローラーをRubyで」というのは考えていたのですが、なかなか取り組みきっかけがありませんでした。そこでこの本です。
クローラーとは??
まずはクローラーとは何でしょうか?この本から引用してみます。
クローラーとは、システムが自動的にWebページを巡回して情報を収集するプログラムです。クローラーとして最も有名なのは、Googleなどの検索エンジンです。
つまり、サイトを巡回して情報を集めてくるプログラム、のことを「クローラー」と呼びます。
まずはここが頭に入ってないとこの本の意味が分かりません。
まずはクローラー開発の基礎とRubyの基礎
まず最初に「10分間でクローラーを開発」します。
これは特殊なライブラリも使わず、基本的なRubyのコードでクローラーを開発します。
ここ、結構充実しています。
まずはクローラー開発の基本的な考え方から始まり、クローラー開発に当たってのRubyの基礎、そしてテストサーバの構築方法、とこれ一冊である程度完結するように書かれています。
そして10分で開発するクローラーです。
これは本当にカンタンな「Webサイトのリンクとタイトルを取得し、一覧表示する」というクローラープログラムです。
そして本格的なクローラー開発へ
基礎を学んだ後、クローラーを開発するのにとても便利な様々なライブラリを使った開発手法を紹介しています。
クローリングから収集したデータの分析・保存、APIの活用など、クローラー開発に必要なことが網羅されています。
ここではRubyの強みの一つである「日本語解析」についてもカンタンですが解説してあります。
これでもっと詳しく勉強したいと思ったら別途書籍を購入しましょう。
[tmkm-amazon]4625434416[/tmkm-amazon]
実開発で使えるクローラーの作成例
そして、Googleの検索結果の取得やAmazonのデータ収集、官公庁のオープンデータの活用まで、様々な事例を紹介しています。
これ、とてもためになります。多分、PHPでクローラー作る時にも応用が利くのではないでしょうか(苦笑)。
個人的にはちょうどやりたかったTwitterからのデータ収集などもありました。
ただ、この部分は必要最低限のことが書かれている印象ですので、ここから自分が使いやすいように更に加工・応用が必要です。
最後に運用にも言及
最後に運用にも言及していますね。
定期収集の方法や収集結果のメール送信、クラウドを使った運用など、こちらも至れり尽くせりです。
但し、あくまで基礎的な内容という印象。最低限+αという内容ですので、これをベースにいろいろと考える必要があるかもしれません。
あくまでも「クローラー開発の実践書」。Rubyなど必要技術の基礎は別途学習した方がいい
最低限、クローラー開発が出来るレベルの基礎は身に付きますが、更に実用的なものを開発しようと思うと、しっかりとRubyなどを学習した方がいい印象です。
ただ、私のように独学でクローラーを開発してきた者としては、こうやって基礎学習が出来るのは大変ありがたいです。
そして、タイミング良くRubyの勉強もしたいところなので、尚更ちょっと本腰入れてやろうかな、と思っています。
既にキュレーションというものがブームになっていますので、キュレーションサイトを開発するためにも必要な技術だと思います。
これを機会に是非一冊購入してみてはどうでしょうか?
[tmkm-amazon]4797380357[/tmkm-amazon]
データマイニングにも使えそうです。
[tmkm-amazon]477416674X[/tmkm-amazon]