1

这是我拥有的代码:

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

如何将其还原google_index.htmMechanize::Page对象并继续使用该页面,例如。提交,解析等?

我试图做YAML::dump()or 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
    f = File.open("google_index.htm")
    doc = Nokogiri::HTML(f)
    # do stuff with f
于 2012-05-18T14:33:57.397 回答
1

也许你可以只恢复 cookie:

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

不过,您的会话很有可能会过期。

于 2012-05-18T23:33:39.400 回答