どうもDSLが気持ち悪くて。。スンマセン。
dependencyにRubyInlineの3.6.3があるので、普通にgemやるとエラーが起きます。
% sudo gem install scrubyt
% sudo gem install RubyInline --version '= 3.6.3'
% sudo gem uninstall RubyInline --version '=3.6.5'
なんか間違ってる気がするけど気にせず小さなコードを書いてみた。tumblrのfollowings url list。
#!/opt/local/bin/ruby -Kurequire 'rubygems'
require 'scrubyt'
require 'yaml'login = YAML.load_file('login.yaml')
data = Scrubyt::Extractor.define do
fetch 'http://www.tumblr.com/login'
fill_textfield 'email', login['email']
fill_textfield 'password', login['password']
submit
fetch 'http://www.tumblr.com/following'
url '//ul[@id="following"]/li/a[1]/@href'
endputs data.to_hash.to_yaml
返り値はそのままじゃ使えないけどto_hashすると普通にアクセスできるハッシュになる。to_xmlな例しかWEBにないのはなんでなんだぜ?
で、気力切れ。
こういうDSLチックな事って自分でも良くやるんだけど、他人のオレオレ言語はなかなかキャズムを超えられない。苦痛。
素直にmechanize + hpricotしようと思う。
(追記)ちょっと修正
コメント (4)
scRUBYt!関連でリンク貼らせていただきました。やっぱmechanize + hpricotを自分で組み合わせて使え!って話ですよね...
投稿者: playet | 2007年12月20日 00:48
リンクありがとうございます。
そうですね、でもScrubytがちょう使えるシーンを理解してる訳ではないので、ひょっとしたら霧の向こうにスゴい世界があるのかもです。
投稿者: negipo | 2007年12月20日 00:57
scRUBYt!はこうやって使いこなすのかぁ……(mechanize使っている人より
投稿者: saronpasu | 2007年12月26日 17:50
いやー、全然使いこなせてないです。。
日記拝見しましたが、following420はすごいですね。別の世界になりそう。
投稿者: negipo | 2007年12月28日 10:37