5Python5(ゴーパイソンゴー)

プログラミングに挫折したわたしが一流のPython使いになるまでの備忘録

Beautiful Soupでページの取得に失敗したときに何度か試したいときは「retrying」を利用しましょう。

ウェブスクレイピングなどのときに
BeautifulSoupを利用してページのデータを取得する際、
ページのデータが取得できずにエラーが生じることもあるかと思います。

そんなときはpipのパッケージにある「retrying」がオススメです。
インストールする場合はこちらです。

pip install retrying

インストールしたら以下のように利用できます。

import random
from retrying import retry

@retry
def do_something_unreliable():
    if random.randint(0, 10) > 1:
        raise IOError("Broken sauce, everything is hosed!!!111one")
    else:
        return "Awesome sauce!"

print do_something_unreliable()

リトライする回数は以下の記述で設定できます。
こちらは5回リトライするという記述です。

import random
from retrying import retry

@retry(stop_max_attempt_number = 5)
def do_something_unreliable():
    if random.randint(0, 10) > 1:
        raise IOError("Broken sauce, everything is hosed!!!111one")
    else:
        return "Awesome sauce!"

print do_something_unreliable()


pypi.python.org