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

今回は、rubyスクレイピングを行う際におそらく最強(わたし的に)だと考えているCapybaraについて紹介します。

そもそもCapybaraとは

Capybaraは、本来はWebページのテストを行うためのツールです。
そのため、「フォームに値を入れて、あるボタンをクリックしたら」といったGUI的な観点でwebページを遷移させることができます。(そういうメソッドがあります。)
今までURLをひたすらたどっていたスクレイピングとは根本から違います。

Capybaraの何がすごいの?

先ほども話しましたが、従来のスクレイピングではURLがすべてでした。
Mechanizeを使えばログイン後のページを取得したりもできましたがJSが動かないなどの問題もありました。
しかし、このCapybaraではログインというのもクリック操作でできてしまうため裏でJSが動いていたとしても問題ないのです。
本当にすごい。
まあ、こんなに熱く語ってもスクレイピング自体をやったことがない人には伝わらないんでしょうけど。。。

Capybaraのデメリット

一応デメリットもあります。それは速度の遅さです。NokogiriやMechanizeのスクレイピングではsleepを挟まなければいけないほど早かったですが、Capybaraは標準で2秒間のインターバルを置くので遅いです。
そのため、簡単なスクレイピングでは用いらないのが常識です。

次回以降使い方などを紹介していこうと思います。