2014-09-13 237 views
0

我對ruby很陌生。我知道如何讀/寫文件(或者我認爲),但是我把nokogiri扔進了混音中,它讓我撓了撓頭。將Nokogiri輸出寫入文本文件

require 'nokogiri' 
require 'open-uri' 
url = "URL" 

page = Nokogiri::HTML(open(url)) 

crawl = page.css('.homehlcpm1 > div:nth-child(1) > ul:nth-child(2) > li:nth- child(1)','.homehlcpm1 > div:nth-child(1) > ul:nth-child(2) > li:nth-child(2)','.homehlcpm1 > div:nth-child(1) > ul:nth-child(2) > li:nth-child(3)').each do |el| 
puts el.text 
puts 
end 

所以,一切正在工作。現在,當我嘗試使用「抓取」作爲源文件編寫文件時,我得到一個空白的文本文檔。

open("crawling.text", "w"){ |file| file.write(crawl)} 

任何幫助將不勝感激。提前致謝!

回答

1

如果你是在Unix環境中運行的腳本,您可以在腳本輸出重定向到一個像這樣的文件:從

$ script_name.rb > crawling.txt 

這樣,每個輸出(pputsprint等),您的腳本將寫入文件中。 請注意,這將會用腳本的輸出覆蓋文件內容。如果你只想將輸出追加到文件中,請使用:

$ script_name.rb >> crawling.txt