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とすれば動くかもしれない。
ふぅ。