rubyでのスクレイピングはCapybaraに決まり2

では、早速Capybaraを使うための準備をしたいと思います。
今回は
rubyはバージョン2.2.5
Bundlerはバージョン1.13.6
を使って説明します。

準備

動くようにするためには以下のサイトを参考にしました
qiita.com
とりあえずこのサイトの言われる通りにしましょう。
以下のコマンドを実行

brew install phantomjs

Gemファイルを作成(今の作業ディレクトリに「Gemfile」というものを作りそこに書き込みます。)

gem 'nokogiri'
gem 'poltergeist'
gem 'capybara'

これで準備は完了です。
rubyのバージョンが古いとうまくいかない可能性が高いです。

とりあえず動かしてみよう

では早速Capybaraを使っていきましょう。
まずはこのコードをコピペして適当なファイル名をつけて保存してください。
test.rb

require 'bundler/setup'
require 'capybara/poltergeist'
Bundler.require

Capybara.register_driver :poltergeist do |app|
  Capybara::Poltergeist::Driver.new(app, {:js_errors => false, :timeout => 100 })
end
session = Capybara::Session.new(:poltergeist)
session.visit "http://www.yahoo.co.jp/"
puts session.title

そして、試しに実行してみましょう。

Yahoo! JAPAN

これが出たら成功です。
これが最小限のサンプルです。タイトルを取るだけならNokogiriでもできます。あくまで動作確認のためのサンプルです。
次回はログインが必要なサイトにログインして、その中のデータを取ってきたいと思います。