在 Ruby 抓取中转义 Mechinze 错误
Escape Mechinze Error in Ruby Scraping
我在尝试抓取 SERP 结果时收到以下服务器响应错误:
/Users/*********/.rvm/gems/ruby-2.3.0/gems/mechanize-2.7.5/lib/mechanize/http/agent.rb:323:in `fetch': 503 => Net::HTTPServiceUnavailable for http://******.*****.com/sorry/index?continue=http://www.********.com/search%3Fq%3D<term1>%2B<term2> -- unhandled response (Mechanize::ResponseCodeError)
我正在想办法逃避错误/异常,让程序继续运行而不是自动退出。
就像 Ruby 中的任何内容一样,它可能归结为 rescue
并恢复:
loop do
begin
Mechanize.do_stuff!
# Success!
break
rescue Mechanize::ResponseCodeError
# Server-side failure, so let's try again after a quick break
sleep(10)
end
end
请注意 sleep(10)
是为了避免猛烈撞击服务器并使其故障更加严重。
我在尝试抓取 SERP 结果时收到以下服务器响应错误:
/Users/*********/.rvm/gems/ruby-2.3.0/gems/mechanize-2.7.5/lib/mechanize/http/agent.rb:323:in `fetch': 503 => Net::HTTPServiceUnavailable for http://******.*****.com/sorry/index?continue=http://www.********.com/search%3Fq%3D<term1>%2B<term2> -- unhandled response (Mechanize::ResponseCodeError)
我正在想办法逃避错误/异常,让程序继续运行而不是自动退出。
就像 Ruby 中的任何内容一样,它可能归结为 rescue
并恢复:
loop do
begin
Mechanize.do_stuff!
# Success!
break
rescue Mechanize::ResponseCodeError
# Server-side failure, so let's try again after a quick break
sleep(10)
end
end
请注意 sleep(10)
是为了避免猛烈撞击服务器并使其故障更加严重。