1

我正在尝试从 HTML 表中抓取单元格值。随机地,其中一些单元格是空的,我无法猜测哪些单元格具有任何可靠性。

遇到空单元格时,有没有办法为 Nokogiri 填写默认值?

感谢您提供的任何建议。这是我的代码:

def scrape_stats
stats = []

(2002..2012).to_a.each do |year|
  url = "website/#{year}"
  doc = Nokogiri::HTML(open(url))

  rows = doc.at_css("body tbody").text.split(" ")

  (rows.count / 25).times do |i| # there are 25 columns per row
    stats << rows.shift(25)
  end
end
4

2 回答 2

0

这基本上涉及使用该Nokogiri::XML::Node#add_child方法(或更短的版本,Nokogiri::XML::Node#<<)添加一个新的子节点,其中包含要添加到空单元格的文本。

请参阅此问题以获取示例:

如何使用 Nokogiri 在 NodeSet 中添加子节点

于 2013-08-14T04:14:23.977 回答
0

听起来你想要这样的东西:

doc.search('td:empty').each{|n| n.content = 'default value'}
于 2013-08-14T04:18:29.870 回答