Hpricotのattributes

Rubyスクレイピングのプログラムを書いている。
当初、自分でスクレイピングのライブラリを書きつつあったが、自作よりも優れているものが見つかった。

まず、Scrapiである。でも使い始めていると使いづらく機能が足りないことがわかった。また自作をすすめる。

Scruybtもいい。でもやっぱり使いづらい。

今は、Hpricotを使っている。これは早いし、とてもいい。

ただ、versionが0.5から0.6に上がったところで、プログラムが突然動かなくなった。

doc.search('input[@type="image"]').each do |tag|
tag.attributes['src'] = "uri?=" + tag.attributes['src']
end

このattributesというメソッドがなくなったらしい。そもそも使ってはいけなかったのか。
今日、別のメソッドを見つけてそれにしたら動いた。

doc.search('input[@type="image"]').each do |tag|
tag.set_attribute('src', "uri?=" + tag.get_attribute('src'))
end

あるいは、attributesの代わりに、raw_attributesとすれば動くかもしれない。
ふぅ。