Обработка сетевых ошибок Python, веб-краулер

Я делаю веб-краулер на крупномасштабном веб-сайте. Однако он всегда сталкивался с закрытыми соединениями, ошибками SSL или другими периодическими сбоями из-за нестабильного соединения. Таким образом, я нахожу способ справиться с этой проблемой. Это мой код ниже, может ли кто-нибудь сказать мне, как реализовать ожидание или попробовать еще раз, чтобы снова запустить проект, когда есть сетевое подключение

try:
     requests.get("http://example.com")
except requests.exceptions.RequestException:
     pass  # handle the exception. maybe wait and try again later

person Michael    schedule 10.07.2017    source источник


Ответы (1)


Не пытаясь прослушивать сам сетевой интерфейс, вы можете добавить простой механизм «повторной попытки» в случае сбоя:

import time

while True:
    try:
        requests.get("http://example.com")
        break  # you can also check the returned status before breaking the loop
    except requests.exceptions.RequestException:
        time.sleep(300)  # wait 5 mins before retry
person zwer    schedule 10.07.2017