Ответ 1
Посмотрите на атрибут r.status_code
:
if r.status_code == 404:
# A 404 was issued.
Демо:
>>> import requests
>>> r = requests.get('http://httpbin.org/status/404')
>>> r.status_code
404
Если вы хотите requests
создать исключение для кодов ошибок (4xx или 5xx), вызовите r.raise_for_status()
:
>>> r = requests.get('http://httpbin.org/status/404')
>>> r.raise_for_status()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "requests/models.py", line 664, in raise_for_status
raise http_error
requests.exceptions.HTTPError: 404 Client Error: NOT FOUND
>>> r = requests.get('http://httpbin.org/status/200')
>>> r.raise_for_status()
>>> # no exception raised.