Nokogiri を試してみることにしました。次のプログラムをhttp://nokogiri.rubyforge.org/nokogiri/Nokogiri.htmlrequire 'rubygems'
から直接コピーしました (と定数のみを追加I_KNOW_I_AM_USING_AN_OLD_AND_BUGGY_VERSION_OF_LIBXML2
)。
require 'rubygems'
I_KNOW_I_AM_USING_AN_OLD_AND_BUGGY_VERSION_OF_LIBXML2 = 1
require 'nokogiri'
require 'open-uri'
# Get a Nokogiri::HTML:Document for the page we’re interested in...
doc = Nokogiri::HTML(open('http://www.google.com/search?q=tenderlove'))
# Do funky things with it using Nokogiri::XML::Node methods...
####
# Search for nodes by css
doc.css('h3.r a.l').each do |link|
puts link.content
end
結果は返されませんでした。しかし、私が変わったとき
doc = Nokogiri::HTML(open('http://www.google.com/search?q=tenderlove'))
に
doc = Nokogiri::HTML(open('http://www.google.com/search?q=tenderlove').read)
プログラムは期待どおりに機能しました。唯一の違いは、行末に .read が追加されていることに注意してください。サンプルコードのほぼすべてのビットが .read. 皮肉なことに、ノコギリの開発者の 1 人による投稿 ( http://tenderlovemaking.com/2008/11/18/underpant-free-excitementで) が含まれていました。API の何かが変更されましたか? 私は何が欠けていますか?
Nokogiri 1.3.2 を使用しています。
ありがとうございました。