【发布时间】:2014-01-09 16:26:45
【问题描述】:
我使用 Nokogiri 抓取了一个网站,在使用 xpath 之后,我得到了以下字符串(这是几个 td 被推入一个字符串)。
"Total First Downs\n\t\t\t\t\t\t\t\t359\n\t\t\t\t\t\t\t\t274\n\t\t\t\t\t\t\t"
我的目标是把它变成一个如下所示的数组(它将是一个嵌套数组):
["Total First Downs", "359", "274"]
问题是创建一个正则表达式方程,该方程会在最后一组整数之后删除转义字符,在一个“,”中包含但不在“,”中包含。如果最后一组整数后面的逗号是必需的,我可以使用 #compact 来消除数组中出现的 nil 。如果您需要有关我如何在此处抓取网站的代码:(请注意,我保存了网页以进行测试,以使我的 IP 地址在试用阶段不会被烧毁)
f = File.open('page')
doc = Nokogiri::HTML:(f)
f.close
number = doc.xpath('//tr[@class="tbdy1"]').count
stats = Array.new(number) {Array.new}
i = 0
doc.xpath('//tr[@class="tbdy1"]').each do |tr|
stats[i] << tr.text
i += 1
end
感谢您的帮助
【问题讨论】: