`
sitoto
  • 浏览: 123716 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

open-uri------open()

    博客分类:
  • ruby
阅读更多
一个带异常处理的open...

Ruby代码 
def safe_open(url, retries = 5, sleeep = 0.42, headers = {}) 
    begin 
      open(url, headers).read 
    rescue StandardError,Timeout::Error, SystemCallError, Errno::ECONNREFUSED #有些异常不是标准异常 
      puts $! 
      retries -= 1 
 
      if retries > 0 
        sleep sleeep and retry 
      else 
        #TODO Logging.. 
        #TODO 多次爬取失败后记录到日志 
      end 
 
    end 
  end 

要先 require 'timeout'
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics