我从this page获得第二个表,解析它并尝试从这些数据生成哈希值。问题是每个对象都由此灰色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...",
}
]
}
答案 0 :(得分:1)
假设您正在使用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