こうかの雑記

こうかの雑記

昔の懐かしいこと、ubuntuのこと、その他いろいろ

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は生きているようです。なので私のブログ読者一覧からは抹消にならなかったのでしょうね。

関連記事

 はてなブログの読者一覧でスクレイピング