読者です 読者をやめる 読者になる 読者になる

プログラマでありたい

おっさんになっても、プログラマでありつづけたい

Spidering hacksと私

 知っている人は気がついていると思いますが、「Rubyによるクローラー開発技法」は、「Spidering hacks」を意識して書かれています。この本はクローラーやWebスクレイピングに関して、非常に広範囲に取り扱っています。ツールの話からスクレイピングの仕方まで、ひと通り学べる内容となっています。

 私が最初にSpidering hacksを読んだのは、いつの時かはっきり覚えていません。もともと独自にスクレイピングのまね事のような事をしている時に、この本に出会ったのだと思います。当時は、クローラーやスクレイピングというものの概念をあまり持っていませんでした。ただただ単純にWebからデータを抜き出したくて、自分の持っている知識を組み合わせて力ずくで取得していました。
 そんな時にこの本に出会って、一気に世界が広がりました。定番のツールや定石の方法を知り、欲しければ何でも取得しようという貪欲さを学びました。


 一方で2004年発売なので内容としてはだいぶ古く、次のような問題があります。

  • 利用しているモジュールが古い
  • 対象となるサイト・サービスが既に存在していないものが多い
  • そもそも対象サイトが米国のものが多く、日本の読者には必要としないことが多い

 クローラー本の宿命として、陳腐化しやすいという問題があります。取得の対象が実際にあるサイトじゃないと誰も喜ばないという現実があります。しかし、そのサイトは当然変更されるし、もっと言うとサイト自体がなくなるという可能性もあります。つまりサンプルプログラムが動かなくなるということです。またこの本は、主にPerlを前提にスクレイピングするという構成です。LWPやMechanizeなどを駆使するというパターンですね。最近では、PythonやRubyのシェアが上がってきているので、相対的にPerlの利用者が減っているのかなぁという現状です。その辺り考えると、技術本の中でも特にクローラーというのは難しいよなぁと思います。


 そんなこんなを漠然と思っていたのですが、まさか自分が同じような本を書くことになるとは、夢にも思っていなかったです。自分の本の寿命がどれくらいなのか解りませんが、同じように誰かの参考になってくれれば幸いです。そして誰か、Python版を書いてくれないかなぁと思います。


Spidering hacks―ウェブ情報ラクラク取得テクニック101選

Spidering hacks―ウェブ情報ラクラク取得テクニック101選

Rubyによるクローラー開発技法 巡回・解析機能の実装と21の運用例

Rubyによるクローラー開発技法 巡回・解析機能の実装と21の運用例


See Also:
『Rubyによるクローラー開発技法』を書きました
Rubyによるクローラー開発技法の目次
本を書く前に準備したこと、執筆中にしていたこと
オープンソースのRubyのWebクローラー"Anemone"を使ってみる