список URL, попробуйте запросить URL 3 раза, если условие, перейдите к следующему URL - PullRequest
0 голосов
/ 04 ноября 2019

У меня есть список URL-адресов для доступа к очистке. Если код состояния не 200, я хочу попробовать еще 2 раза. Если код состояния не равен 200 в 3 раза, я хочу, чтобы он перешел к следующему URL в списке.

Я думаю, что это код, например:

url_list = [url1, url2, url3, url4, url5]

for url in url_list:
    requests.get(url)
    if requests.status_code == 200:
       do scraping

    if requests.status_code != 200:
       try url again 2 more times then move on to next url in list

Я попытался определить функцию, диапазоны, добавляя i = 0, затем i = + 1 в качестве цикла и вызывая исключения

1 Ответ

1 голос
/ 04 ноября 2019

Может быть, есть лучший способ, но, по сути, просто свести на нет вашу идею, сделать что-то вроде:

for url in url_list:
    try_again = 3
    while try_again != 0:
        response = requests.get(url)
        if response.status_code == 200:
            print('do scraping')
            try_again = 0

        if response.status_code != 200:
            try_again -= 1
            print ('Request failed. Attempts remaining: %s' %try_again)
            if try_again == 0:
                print ('Tried 3 times. Moving to next URL.')
...