python Requestの処理でエラーを捉えられなかった
私のブログの読者になって頂いた方たちのブログをフォローしやすいようにpythonでスクリプトを書いて、毎日読者ブログ一覧を作っています。
気づかなかったのですが数日前からそのスクリプトが処理の途中でエラーを起こして中断していたようです。出力されるリストの件数が少ないので今日気づきました。
エラーはRequestで対象のブログを開く時に接続エラーが出ていました。調べるとあるブログを開こうとするところで接続できないでエラーになるようです。手でも該当URLにアクセスしてみると「サーバーへの接続を確立できませんでした」となりました。非公開設定ではなく、ブログ自体が無くなっている可能性があります。
もちろんスクリプトにはエラー対処のコードを書いています。
RequestのエラーはConnectionErrorクラスを使えば良いと思っていたのですが、これでは今回のエラーを捉えられませんでした。そこでExceptionクラスを使うように直しました。
err_sw = False try: r = sess.get(url, timeout=3.5) #except ConnectionError: エラーを捉えられなかった except Exception: print('reqestsで接続エラー! url=', url) err_sw = True
上記の様に問題の文をコメントにして新たに"except Exception"の文を追加しました。
ブログが無くなっていましたが、そのブログ主さんのIDは生きているようです。なので私のブログ読者一覧からは抹消にならなかったのでしょうね。
関連記事