hitode909の日記

以前はプログラミング日記でしたが、今は子育て日記です

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

Rubyでインターネットを巡回する本.
いちばん簡単なのだと,Wget再帰的にダウンロードしてみましょうとか,Anemoneっていうクローラ作るためのライブラリとか,ThreadやEventMachineで並列に動かすとか.
あとは,Rubyだからgemの便利グッズが紹介されていて,一番よかったのは,koalaっていうfacebookにアクセスするためのライブラリで,キラキラネームでまぶしい.


気になったのは,けっこうHTMLをXPathとかで取り出してスクレイピングしていることで,こういう方法だとしばらくすれば壊れそう.壊れたときに気付けるように結果もバリデーションしましょう,とか書いてあったけど,メンテナンスできるのか.それか,意外とマークアップ変わらなくて壊れないもの?

スクレイピングというと2007年くらいにPerlの人たちがCPANYoutubeをダウンロードとかいって喜んでた印象がある.
この本は,2014年らしく,保存した内容はS3に置くと便利とか,SQSでクロールするURLのキューを作ろう,数十台で大規模クロールや,とか言ってて,最近っぽい感じだった.
昔は手元のプログラムでこうやったらできるっていう話が主だったけど,最近はAmazon便利グッズにうまく乗っかろうという雰囲気がある.Plaggerで通知送るときとか,昔は普通にメール送ってたけど,今Plagger作るとしたら,Amazonに投げたらなんか動く,みたいなほうが気楽そう,とか.


行儀よく運用することについても触れられていて,著作権への配慮とか,robots.txtとか,業務妨害にならないようにしようとか,こまごまと気をつけることがある.
クローラーはできるかぎり作らないほうがいいって書いてて,複雑な立場っていう感じがする.


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

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

追記

著者の方からリプライあった。寿命短いとのことなので、早く読みましょう。