我是网络开发新手并尝试学习网页编写。我试图从中提取的列包含多个项目,我想分别获取各个项目。
site = "http://www.cyrptomarketcap.com"
doc = Nokogiri::HTML.parse(open(site))
coin_table = doc.css("table").sort { |x,y| y.css("tr").count <=> x.css("tr").count }.first
rows = coin_table.cc("tr")
rows = rows.select { |row| row.css("th").empty? }
data = rows.map do |row|
[row.at_css("td:nth-child(2)").try(:text)]
end
结果是:
=&GT; [[&#34; \ n \ n \ n \ n BTC \ n比特币\ n&#34;],[&#34; \ n \ n \ n \ n XRP \ n Ripple \ n&#34;] ,...]
我需要做些什么才能获得名字?
答案 0 :(得分:1)
您可以将以下内容应用于data
变量:
data.flatten.map { |s| s.split("\n")[-2].gsub(' ', '') }
结果如下:
["Bitcoin", "Ripple", ...]