2012年2月21日火曜日

Mechanize再入門

久しぶりに Mechanize を触ったのでメモ

プログラムからウェブサイトをブラウズするためのライブラリ。

以下を読めばだいたい分りそう。
mechanize-2.2 Documentation
Nokogiri

Ruby勉強会で話させて頂いてときのスライドで雰囲気は伝わるかと。
(APIが古すぎてコードとかはもう動きません)
http://www.slideshare.net/Sixeight/its-mechanize-for-it-ruby-as-a-finder

インストール


$ gem install mechanize



source 'http://rubygems.org/'

gem 'mechanize'

を Gemfile に書いて bundle install しましょう。


Google で検索する例


require 'mechanize'

agent = Mechanize.new
page = agent.get('http://google.com/')

form = page.form
form.q = 'にゃんこ'
page = agent.submit(form)
# MEMO: ブロックでも書ける
# page = page.form {|f| f.q = 'にゃんこ' }.submit

page.search('h3.r a') #=> 検索結果
page.links #=> クリック出来るリンク一覧

page.links.first.click # とかでクリック出来る

Mechanize の API はどうにもスマートに書けなくて、いまいちイケてない気がします。
恐らくもっと綺麗に書けるんだろうけれど、それが直ぐに分からないのがイケてない。

0 件のコメント:

コメントを投稿