我有很長的循環EOF與引入nokogiri
page = Nokogiri::HTML(open(topic[:url].first)).xpath('//ul[@class = "pages"]//li').first
以下行有時我的Ruby應用程序崩潰提高「到達文件結尾」異常這一行。
我該如何解決這個問題?只是開始,提高,結束塊?
是執行論壇備份的腳本,所以重要的是不跳過任何線程。
在此先感謝。
我有很長的循環EOF與引入nokogiri
page = Nokogiri::HTML(open(topic[:url].first)).xpath('//ul[@class = "pages"]//li').first
以下行有時我的Ruby應用程序崩潰提高「到達文件結尾」異常這一行。
我該如何解決這個問題?只是開始,提高,結束塊?
是執行論壇備份的腳本,所以重要的是不跳過任何線程。
在此先感謝。
我建議你應該先解決潛在的問題,以免你得到這個錯誤。
其次,你應該知道,該查詢的CSS語法簡單得多:
page = Nokogiri.HTML(...).at_css('ul.pages li')
除了@ Phrogz的優良建議(特別是約at_css
與簡單的表達式),我會拉原始XML [內容]分別:
page = if (content = open(topic[:url].first)).strip.length > 0
Nokogiri::HTML(content).xpath('//ul[@class = "pages"]//li').first
end
我認爲你需要一個'.read',不是嗎? – Phrogz 2012-07-25 21:19:33
感謝您的回覆,但我確實 'next除非topic [:url] .first.page_exists? '// ul [@class =「pages」] // li'' first to do 'page = Nokogiri :: HTML(open(topic [:url] .first))。xpath('// ul [ class =「pages」] // li')。 #page_exists是String的一種方法: 'begin !Nokogiri :: HTML(open(self))。to_s.empty? rescue例外=> e false end' – 2012-07-25 23:00:49
當然可以是服務器的限制(該應用程序與調用#458崩潰),但我不能確定這是事實... – 2012-07-25 23:08:36