#python-3.x #loops
#python-3.x #циклы
Вопрос:
Я перехожу по ссылке, в которой я хотел бы установить количество повторений равным 3. Это означает, что я выйду из цикла после 3 попыток. Не могли бы вы, пожалуйста, подробнее рассказать о том, как достичь моей цели?
import requests, time
session = requests.Session()
headers = {'User-Agent': 'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:78.0) Gecko/20100101 Firefox/78.0'}
r = session.get('https://www.larousse.fr/conjugaison/anglais/abnegate/11338', headers = headers)
while r.status_code != 200:
time.sleep(2)
r = session.get(link, headers = headers)
Ответ №1:
Вы можете сохранить счетчик и цикл, который позволяет выполнять итерации столько раз, сколько захотите:
while r.status_code != 200 and count < 3:
Нравится:
import requests, time
session = requests.Session()
headers = {'User-Agent': 'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:78.0) Gecko/20100101 Firefox/78.0'}
count = 1
r = session.get('https://www.larousse.fr/conjugaison/anglais/abnegate/11338', headers = headers)
while r.status_code != 200 and count < 3:
time.sleep(2)
r = session.get(link, headers = headers)
count = 1
Ответ №2:
Используйте счетчик.
while condition 1
и counter < limit
Ответ №3:
Вы могли бы просто добавить вторую переменную, которая подсчитывает количество попыток:
import requests, time
session = requests.Session()
headers = {'User-Agent': 'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:78.0) Gecko/20100101 Firefox/78.0'}
r = session.get('https://www.larousse.fr/conjugaison/anglais/abnegate/11338', headers = headers)
tries = 0
while r.status_code != 200 and tries != 3:
time.sleep(2)
r = session.get(link, headers = headers)
tries = 1
Комментарии:
1. Я думаю, это будет выполняться четыре раза (я предполагаю, что тот, который находится вне цикла, также включен).