>我正在从此页面获取第二个表,解析它并尝试从这些数据生成哈希。问题是每个对象都由这个灰色TR
分隔,但我只能通过从这个表中获取每个TR
来管理它。
如何通过在灰色之间获取它们来确定正确的TR
?
现在我正在使用这一行来获取每个TR
:
parsed_html.css("table")[1].css("tr")
编辑:
我不知道 Hash 是否是完成此任务的好方法,但这里是"提升和支撑"部分的 JSON(这是示例一个,请随时纠正我):
{
"chapter":"07",
"title":"LIFTING AND SHORING",
"description":"This chapter shall...",
"section":[
{
"number":"00",
"title":"GENERAL",
"description":"",
},
{
"number":"10",
"title":"JACKING",
"description":"Provides information relative...",
},
{
"number":"20",
"title":"SHORING",
"description":"Those instructions necessary...",
}
]
}
假设你使用的是nokogiri,我会做类似的事情
#!/usr/local/env ruby
require 'nokogiri'
require 'open-uri'
require 'pp'
doc = Nokogiri::HTML(open('http://www.s-techent.com/ATA100.htm'))
d = doc.css("table")[1] #.css("tr")
array = []
d.css('tr').each do |r|
tds = r.css("td") # extract the td elements from this tr
array << tds.map {|td| td.text.strip }
end
pp array