我正在将 HTML 解析为一个数组,如下所示。我可以将数据放入数组,然后将数据推送到数据库中。数组数据的一行是:
{:address=>"6222 Lodgepole Dr", :members=>["Diana L Dillard", "Kemberly J Williams", "George S Williams Iii"]}
数据库结果为:
Master Neighbor Name
7545 XYZ Dr --- - 8283 Southern Watch Pl --- - - Diana L Dillard - Kemberly J Williams - George S Williams Iii
这些是我的问题:
- 如何让
Address.create
循环仅将数组中的第一个成员(在此示例Diana L Dillard
中)插入“名称”字段而不是所有名称?理想情况下,我想为第一个字段创建一个字段,然后为所有其他字段创建另一个字段。 - 为什么我的数据中会插入这些破折号“---”?我不想要他们。
这是我当前的代码:
url = "XYZ"
doc = Nokogiri::HTML(open(url))
results = []
# parse .single tags
doc.css('.single').each do |single_div|
res = {}
res[:address] = single_div.at_css('span.address').text
res[:members] = single_div.css('li.basic_info').collect{|el| el.text.strip}
results << res
end
results.each do|address|
puts "#{address}: #{members}"
Address.create(:neighboradd => "#{address}", :master => '7545 XYZ Dr', :name => "{members}")
end