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でもできます。あくまで動作確認のためのサンプルです。
次回はログインが必要なサイトにログインして、その中のデータを取ってきたいと思います。