#june29jp

RubyのWWW::Mechanizeの例外処理

2007-12-02

こんな感じに書いて動かしているところです.

agent = WWW::Mechanize.new {|a| a.log=Logger.new(‘access.log’)}

while # どんどんデータを集める! begin page = agent.get(url) rescue Timeout::Error puts “ caught Timeout::Error !” retry # タイムアウトしちゃってもあきらめない! rescue WWW::Mechanize::ResponseCodeError => e case e.response_code when “404” puts “ caught Net::HTTPNotFound !” next # ページが見付からないときは次へ when “502” puts “ caught Net::HTTPBadGateway !” retry # 上手くアクセスできないときはもう1回! else puts “ caught Excepcion !” + e.response_code retry end end end

参考

おもしろかったら、シェアやブックマークや送金などぜひぜひお願いします。サイト運営の励みになります!

シェアや送金などお待ちしています!