我正在尝试从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
听起来你想要这样的东西:
doc.search('td:empty').each{|n| n.content = 'default value'}
这基本上涉及使用Nokogiri::XML::Node#add_child
方法(或较短版本的Nokogiri::XML::Node#<<
)添加一个新的子节点,该子节点包含要添加到空单元格的文本。
请参阅此问题以获取示例:
如何使用Nokogiri 在NodeSet中添加子节点