Rubyが好きなプログラマーの日記。日々の生活、開発に関するメモとか考えとか。
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)