1

これが私が持っているコードです:

agent = Mechanize.new
page = agent.get 'http://google.com'
page.save 'google_index.htm'

google_index.htmそれをMechanize::Pageオブジェクトに復元して、そのページで作業を続けるにはどうすればよいですか。送信、解析など?

私はやろうとしましたYAML::dump()Marshal::dump()、それは不可能のようです:

irb(main):024:0> page.class
=> Mechanize::Page

それから:

irb(main):013:0> YAML::dump(page) 
TypeError: can't dump anonymous class Class 

と:

irb(main):023:0> Marshal::dump(page)
TypeError: no marshal_dump is defined for class Nokogiri::XML::Element
4

2 に答える 2

1

おそらく、Cookie を復元することができます。

agent.cookie_jar.save_as('cookies')
agent.cookie_jar.load('cookies')

ただし、セッションの有効期限が切れる可能性は十分にあります。

于 2012-05-18T23:33:39.400 に答える
1
    f = File.open("google_index.htm")
    doc = Nokogiri::HTML(f)
    # do stuff with f
于 2012-05-18T14:33:57.397 に答える