我一直在我的程序中收到同样的错误。我已经写了一个方法,需要一些凌乱的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