Mechanize
install
gem install mechanize
リファレンスマニュアル
http://mechanize.rubyforge.org/mechanize/
とりあえず yahoo の最新トピックスをゲットしてみる
require 'rubygems' require 'mechanize' agent = WWW::Mechanize.new #agent.set_proxy("proxy.xxx", 80) page = agent.get('http://www.yahoo.co.jp') puts page.links.select{|link| link.href =~ /.*\?http:\/\/dailynews.*\/fc\/.+/}
実行結果
東電、制御室被害を過小報告 虐待 小1長男の全身にろうそく TBSの不二家報道「重大な問題」 タイ警察官 罰はキティ風腕章 朝青龍 別の精神科医が診察へ 武蔵の不可解判定に怒り爆発 内に関ジャニ8復帰ラブコール
Mechanize その2
はてなにログインしてみる
ruby 1.8.6 (2007-03-13 patchlevel 0) [i386-cygwin]
require 'rubygems' require 'mechanize' require 'kconv' user_id = "xxxxxxxxxx" pass = "xxxxxxxxxx" agent = WWW::Mechanize.new login_page = agent.get('https://www.hatena.ne.jp/login') login_form = login_page.forms.first login_form["name"] = user_id login_form["password"] = pass res = agent.submit(login_form) if res.body =~ /error-message"\>.*\(.*?)\<\/p\>.*\<\/div\>/m puts $1.tosjis end if res.body =~/progress-message"\>.*\
\(.*)\<\/span\>/m puts $1.tosjis end
実行結果
成功時 xxxxxxxxxx でログイン中です 失敗時 ユーザー名またはパスワードが違います