Manejar errores de requests en Python
Atrapar las formas específicas en que puede fallar una llamada HTTP.
import requests
try:
respuesta = requests.get("https://api.example.com/data", timeout=5)
respuesta.raise_for_status()
carga = respuesta.json()
except requests.Timeout:
carga = {"error": "tiempo agotado"}
except requests.HTTPError as exc:
carga = {"error": f"estado {exc.response.status_code}"}
except requests.RequestException:
carga = {"error": "solicitud fallida"}
Cómo funciona
Timeoutsalta cuando el servidor tarda demasiado.HTTPErrorlleva el código de estado que falló.RequestExceptiones la base que atrapa todo.
Palabras clave y builtins usados aquí
asexcepttry
El intento, en números
- Líneas
- 12
- Caracteres a escribir
- 367
- Tokens
- 88
- Ritmo de tres estrellas
- 105 tpm
Al ritmo de tres estrellas de 105 tokens por minuto, este intento toma unos 50 segundos.
Paso 4 de 5 en requests; paso 4 de 9 en Web scraping.