Ошибка подключения при очистке изображения из Craigslist - PullRequest
0 голосов
/ 30 октября 2018

В рамках проекта по очистке данных из Craigslist я включил в себя очистку изображений. Я заметил в тестировании, что иногда соединение отказывается. Есть ли способ обойти это, или мне нужно включить перехват ошибок для этого в моем коде? Я помню, что Twitter API ограничивает запросы, поэтому встроен таймер отключения. Любопытно, если у меня такая же ситуация с Craigslist. См. Код и ошибку ниже.

#loops through each image and stores it in a local folder
for img in soup_test.select('a.thumb'):
    imgcount += 1
    filename = (pathname +  "/" + motoid + " - "+str(imgcount)+".jpg")
    with open(filename, 'wb') as f:
        response = requests.get(img['href'])
        f.write(response.content)

ConnectionError: HTTPSConnectionPool (host = 'images.craigslist.org', port = 443): превышено максимальное количество попыток с URL: /00707_fbsCmug4hfR_600x450.jpg (вызвано NewConnectionError (': не удалось установить новое соединение: [WinError 100 Невозможно установить соединение, потому что целевая машина активно отказалась от него ',))

У меня есть 2 вопроса об этом поведении.

  1. Есть ли у серверов CL какие-либо правила или протоколы, такие как блокирование n-го запроса в течение определенного периода времени?

  2. Есть ли способ приостановить цикл после отказа в соединении? Или я просто включил перехват ошибок, чтобы не остановить мою программу?

...