如何保存Nokogiri的结果

时间:2012-10-06 01:18:29

标签: ruby nokogiri

这是ruby脚本的一部分。我想将结果保存到文本文件中。我只想要在这两个DIVS中指定的结果。

url = browser.html
doc = Nokogiri::HTML(open(url))

price = doc.css("#sectionPrice").text
ship = doc.css("#shippingCharges td").text

如何保存抓取的结果?请注意,加载页面的脚本工作正常。在SHELL中,我可以使用XPATH查看我的scrape值,如下所示。

page_html = Nokogiri::HTML.parse(browser.html)
shipping = puts page_html.xpath(".//*[@id='shippingCharges']").inner_text
price = puts page_html.xpath(".//*[@id='sectionPrice']").inner_text

如何将此数据保存为CSV或XML?

//方面问题:SHELL中返回的数据是否保存在任何地方?如何在SHELL

之外访问它
url = browser.html
doc = Nokogiri::HTML(open(url))

price = doc.css("#sectionPrice").text
ship = doc.css("#shippingCharges td").text

CSV.open("/users/fabio/desktop/ruby/gp.csv", "wb") do |csv|
  csv << [price, ship]
end

未创建CSV文件。 DIR什么给出了什么?

1 个答案:

答案 0 :(得分:2)

将此内容写入csv文件非常简单。

只需添加以下内容:

require 'csv'

CSV.open("file.csv", "wb") do |csv|
  csv << [price, ship]
end

如果运费和价格是数组,那么您将需要迭代它们,但这就是您创建csv的方式。

希望这能让你顺利上路。

干杯!