あらためてmechanizeの勉強をしよう
例えばnewsingからblogという文字列を含む記事を検索する場合。
require 'rubygems' require 'mechanize' require 'kconv' agent = WWW::Mechanize.new agent.user_agent_alias = 'Windows IE 6' page = agent.get('http://newsing.jp/') # 最初の検索フォームを探す form = page.forms.first # <input type="text" maxlength="50" value="" class="search" name="q" style="width:266px;"> # より、qという名前のinputフォームに'blog'と入力 form.q = 'blog' # 結果を取得して表示 results = agent.submit(form) puts results.body.tosjis
例えばNEWSING★BOOSTERからpicker=teraで検索する場合。
require 'rubygems' require 'mechanize' require 'kconv' agent = WWW::Mechanize.new agent.user_agent_alias = 'Windows IE 6' page = agent.get('http://snow.lomo.jp/newsing/') # 最初の検索フォームを探す form = page.forms.first # <input name="picker" value=""> # より、pickerという名前のinputフォームに'tera'と入力 form.picker = 'tera' # 結果を取得して表示 results = agent.submit(form) puts results.body.tosjis
ちなみに検索フォームに名前が付いている場合、
search_form = page.forms.with.name('search').first
というふうに、ダイレクトで指定してもよい。
まぁページ内に1つしかフォームがなければ無意味だけど。
…でこの先、mixiに自動ログインして情報取得( ̄ー ̄)ニヤリッとかやってもいいんだけど、ここまできてmechanizeが今俺に必要なものじゃないかも、と思って勉強中断(←自分勝手)。とりあえずmechanize周りで役立ちそうなページメモして終了。
Route 477(2007-02-05)
超手抜き版 はてなダイアリーライター(ruby版)を作ってみた。 - 生活。
バツイチからの婚活 | Just another WordPress site
Route 477