【发布时间】:2011-01-20 16:42:34
【问题描述】:
我确信这是一个完全无知的问题,但它就是这样。以下代码的目标是从标准 csv 文件中读取 id 列表,使用该值附加到 URL,调用 URL 并通过 xpath 提取特定属性。我遇到的问题是循环似乎跳过了一些行。
例如,这里是一个包含 10 个值的示例:
777961
777972
781033
781044
781055
847066
744187
893908
369009
369010
代码只读取每隔一行。实际文件大约有 6000 行,不是很大,但我在第二个文件中只返回了大约 2500 个值。
f = File.open('test.csv', 'r+')
url_f = File.open("url.csv", "w")
for line in f
f.each_line do |item|
item = f.gets
url = "http://test.com/testid=" + item
client = HTTPClient.new
resp = client.get_content(url)
doc = Nokogiri::HTML(resp)
doc.xpath("//link[@rel='canonical']/@href").each do |attr|
url_f.puts attr.value
puts attr.value
end
puts item
end
end
【问题讨论】: