【发布时间】:2012-12-16 21:40:38
【问题描述】:
我有一个 Ruby 脚本 (1.9.2p290),我试图在其中调用多个 URL,然后将这些 URL 中的信息附加到一个文件中。问题是我不断收到文件结束错误 - EOFError。我正在尝试做的一个例子是:
require "open-uri"
proxy_uri = URI.parse("http://IP:PORT")
somefile = File.open("outputlist.txt", 'a')
(1..100).each do |num|
page = open('SOMEURL' + num, :proxy => proxy_uri).read
pattern = "<img"
tags = page.scan(pattern)
output << tags.length
end
somefile.puts output
somefile.close
我不知道为什么我不断收到此文件结尾错误,或者我如何避免收到此错误。我认为这可能与我正在调用的 URL 有关(基于此处的一些对话:What is an EOFError in Ruby file I/O?),但我不确定为什么这会影响 I/O 或导致文件结束错误。
对我在这里可能做错了什么或如何让它发挥作用有什么想法吗?
提前致谢!
【问题讨论】:
-
这可能是您的 ISP 正在重置连接吗?我已经看到了这种情况。
-
不知道是否相关,但
page = open('SOMEURL' + num应该是page = open('SOMEURL' + num.to_s。