没有线索。它的行为很奇怪,我想要的响应是被放到终端而不是文件…但我从来没有要求把结果放在终端。奇怪. .如何从Mechanize/Nokogiri获得打印到文件中的结果?
a = Mechanize.new { |agent|
agent.user_agent_alias = 'Mac Safari'
}
a.set_proxy '64.213.148.50', 8080
a.get('http://www.amazon.com')
a.page.forms[0]["field-keywords"] = "B009NWFP5Q"
a.page.forms[0].submit
try = a.page.link_with(:text => "Madden Girl Women's Harmonee Ballet Flat").click
url = a.get(try).body
doc = Nokogiri::HTML(open(url))
result = doc.inspect
after = "after.txt"
File.write(after, result)
正如铁皮人所说,inspect是一个调试工具,所以它写的是STDERR
。在Unix环境中,您可以通过以下方式将错误日志重定向到一个文件:
覆盖输出文件:
$ ruby script.rb 2> output_file
将STDERR数据附加到输出文件中:
$ ruby script.rb 2>> output_file