机械化和Nokogiri打印到终端而不是文件

时间:2015-06-05 16:56:24

标签: ruby-on-rails ruby nokogiri screen-scraping mechanize-ruby

这一点没有任何线索..它表现得很奇怪,我想要的反应是放到终端而不是文件..但我从未要求将结果放到终端。奇怪..如何将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)

1 个答案:

答案 0 :(得分:0)

正如Tin man所说,inspect是一个调试工具,因此写入STDERR。在Unix环境中,您可以通过以下方式将错误记录重定向到文件:

覆盖输出文件:

$ ruby script.rb 2> output_file

将STDERR数据附加到输出文件:

$ ruby script.rb 2>> output_file