Mechanize に基づいた Web サイトをスパイダーするスクリプトがあり、キャッチできないエラーのように見えるものを除いて、うまく機能しているようです。'Errno::ECONNRESET' これは接続をリセットしてエラーを出力するようですが、例外は発生しないようです。これに対処する最善の方法は何ですか?以下に、プログラムの流れを擬似コードで示します。
while LinksQue.notEmpty
begin
mech.get(LinksQue.nextLink)
rescue Mechanize::ResponseCodeError => e
puts e.response_code
puts "this is a bad link"
rescue Errno::ECONNRESET
#This doesn't work
end
end
私の問題の一部は、リンクを「訪問済み」または「不良リンク」としてマークする方法がDBであるため、レスキューブロックでDBを更新できない限り、同じリンクを何度も試行し続けることです。