如何使用 Nokogiri 解析特定表



我正在尝试在此页面的"持股"选项卡中拉取"名称"、"重量"和"持有的股份"表:https://www.spdrs.com/product/fund.seam?ticker=DIA

# get table headers
headers = []
page.xpath('//*/table/thead/tr/th').each do |th|
  headers << th.text
end
# get table rows
rows = []
page.xpath('//*/table/tbody/tr').each_with_index do |row, i|
  rows[i] = {}
  row.xpath('td').each_with_index do |td, j|
    rows[i][headers[j]] = td.text
  end
end
puts page.xpath("//table//tr//td[1]/text()")
p rows

这是我现在拥有的代码,我不完全确定如何做 xpath。puts page.xpath("//table//tr//td[1]/text()")调用返回所有表的所有标签,但我只想要带有公司名称的标签。如何仅选择该特定表的信息,以及如何重写循环以从中提取?

另一种使用 css 选择器的方法

rows = doc.css("div#FUND_TOP_HOLDINGS td").map(&:text).each_slice(3).to_a

相关内容

  • 没有找到相关文章

最新更新