0

私は次のものを持っています:

require 'rubygems'
require 'anemone'
require 'nokogiri'
require 'open-uri'

Anemone.crawl("http://www.findbrowsenodes.com/", :delay => 3) do |anemone|
  anemone.on_pages_like(/http:\/\/www.findbrowsenodes.com\/us\/.+\/[\d]*/) do | page |

    doc = Nokogiri::HTML(open(page.url))

    id       = doc.at_css("#n_info #clipnode").text unless doc.at_css("#n_info #clipnode").nil?

    File.open("#{node_id}.html", "wb") do |f|
      f.write(open(page).read)
    end
  end
end

だから私はこれで各URLをhtmlファイルとして保存しようとしています:

    File.open("#{id}.html", "wb") do |f|
      f.write(open(page).read)
    end

しかし、私はこのエラーが発生します:

alex@alex-K43U:~/rails/anemone$ ruby​​ anemone.rb /home/alex/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/open-uri.rb:35: in open': can't convert Anemone::Page into String (TypeError) from /home/alex/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/open-uri.rb:35:in open' from anemone.rb:27:in block (3 levels) in <main>' from anemone.rb:26:inopen' from anemone.rb:26:in `ブロック (2 レベル) in '

これを行う正しい方法は何ですか?

4

1 に答える 1