我有一个Ruby脚本(1.9.2p290),我试图调用一些URL,然后将这些URL中的信息附加到一个文件中。问题是我不断收到文件错误 - EOFError。什么我想要做的一个例子是:如何通过Ruby脚本避免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'。 – steenslag