Cuando automatizas (bots, scrapers, integraciones) lo normal es hablar con APIs REST. Tu base es: GET/POST, parámetros, cabeceras y control de errores.
1) GET con params
import requests
url = "https://api.ejemplo.com/search"
params = {"q": "pollo", "limit": 5}
r = requests.get(url, params=params, timeout=10)
r.raise_for_status()
data = r.json()
2) Headers (auth, content-type)
headers = {"Authorization": "Bearer TU_TOKEN"}
r = requests.get("https://api.ejemplo.com/me", headers=headers, timeout=10)
3) Manejo de errores típico
try:
r = requests.get(url, timeout=10)
r.raise_for_status()
except requests.Timeout:
print("La API tarda demasiado")
except requests.HTTPError as e:
print("Error HTTP:", e.response.status_code)
except requests.RequestException as e:
print("Error de red:", e)
4) Consejos para bots
- Cache simple: si el usuario repite la misma consulta, guarda resultados 1–5 min.
- Rate limits: respeta límites de la API (y gestiona 429).
- Logs: registra error + endpoint para depurar rápido.
