Satoryu's Diary

Rubyが好きなプログラマーの日記。日々の生活、開発に関するメモとか考えとか。


2013年09月05日

_ Capybaraで始めるウェブスクレイピング

Capybaraは、Javascriptを使用した画面を持つRailsの受け入れテストを実装するために使われることが殆どだと思います。 でも、Railsじゃなくても、ましてやRackじゃなくても、そして、RubyのアプリケーションじゃなくてもCapybaraさんは動いてくれるんです。 ということで、それを利用して、ウェブスクレイピングをすると色々捗るのでオススメです! *1

設定ははとっても簡単、スクレイピングするRubyのコードに、

Capybara.run_server = false 

とすればRackサーバーではなく、URLを指定すれば好きなところにCapybaraさんが走り回ってくれるようになります。 あとは、

require 'capybara/dsl'
include Capybara::DSL

などしておくとスッキリとコードが書けますよ。

サンプルとして、先日リリースしたrakuten_web_serviceを利用して、商品ランキングの上位30件の画面の縦の長さを計るスクリプトを書きましたので、ご覧ください。

真面目な使い方としては、リリースした後に定期的にアプリケーションの動作を確認するボットを作ったり、普段の業務ツールの自動化などでしょうか。

*1 ウェブスクレイピングについては[こちら](http://ja.wikipedia.org/wiki/%E3%82%A6%E3%82%A7%E3%83%96%E3%82%B9%E3%82%AF%E3%83%AC%E3%82%A4%E3%83%94%E3%83%B3%E3%82%B0)


最近の投稿

翻訳しました(ちょっとだけ)

follow us in feedly