我正在解析一个网站,并且正在寻找潜在的数百万行内容。但是,csv/excel/ods 不允许超过一百万行。
这就是为什么我试图使用临时来排除保存空内容的原因。但是,它不起作用:我的代码不断在 csv 中创建空行。
这是我的代码:
# create csv
CSV.open("neverending.csv", "w") do |csv|
csv << ["kuk","date","name"]
# loop through all urls
File.foreach("neverendingurls.txt") do |line|
begin
doorzoekbarefile = Nokogiri::HTML(open(line))
for k in 1..999 do
# PROVISIONARY / CONDITIONAL
unless doorzoekbarefile.at_xpath("//td[contains(style, '60px')])[#{k}]").nil?
# xpaths
kuk = doorzoekbarefile.at_xpath("(//td[contains(@style,'60px')])[#{k}]")
date = doorzoekbarefile.at_xpath("(//td[contains(@style, '60px')])[#{k}]/following-sibling::*[1]")
name = doorzoekbarefile.at_xpath("(//td[contains(@style, '60px')])[#{k}]/following-sibling::*[2]")
# save to csv
csv << [kuk,date,name]
end
end
end
rescue
puts "error bij url #{line}"
end
end
end
任何人都知道出了什么问题或如何解决问题?基本上我只需要更改代码,以便在 xpath 为空时不会创建新的 csv 数据行。