我一直在我的程序中收到同樣的錯誤。我已經寫了一個方法,需要一些凌亂的HTML並將其變成整潔的字符串。這工作對自己很好,但是當我運行整個程序我得到以下錯誤:Nokogiri返回「無方法錯誤」
kamer.rb:9:in `normalise_instrumentation': undefined method `split' for #<Nokogiri::XML::NodeSet:0x007f92cb93bfb0> (NoMethodError)
我會了解爲何出現這種情況,以及如何阻止它的任何信息或建議,真的很感謝。
的代碼是在這裏:
require 'nokogiri'
require 'open-uri'
def normalise_instrumentation(instrumentation)
messy_array = instrumentation.split('.')
normal_array = []
messy_array.each do |section|
if section =~ /\A\d+\z/
normal_array << section
end
end
return normal_array
end
doc = Nokogiri::HTML(open('http://www.cs.vu.nl/~rutger/vuko/nl/lijst_van_ooit/complete-solo.html'))
table = doc.css('table[summary=works] tr')
work_value = []
work_hash = {}
table.each do |row|
piece = [row.css('td[1]'), row.css('td[2]'), row.css('td[3]')].map { |r|
r.text.strip!
}
work_value = work_value.push(piece)
work_key = normalise_instrumentation(row.css('td[3]'))
work_hash[work_key] = work_value
end
puts work_hash
首先,歡迎來到Stack Overflow。沒有必要爲學習道歉。只要做你的研究,問一些周到的,寫得很好的問題,我們很樂意幫忙。 – 2014-10-16 22:36:32
如果您包含您遇到的HTML的最小示例,以及您想要的代碼之外的數據類型的示例,它確實有幫助。如果沒有這些,我們必須修補猜測,併發揮我們並不擅長的思維閱讀器遊戲。所以,幫助我們幫助你。 – 2014-10-16 22:39:41
謝謝你的鼓勵!並感謝發佈提示。將來一定會這樣做。我非常感謝你的時間! – pgannz 2014-10-19 17:11:54