16 Sep 2024
Guía Completa sobre la Biblioteca `requests` en Python
La biblioteca requests
es una de las herramientas más populares en el ecosistema de Python para realizar solicitudes HTTP. Con un diseño simple y elegante, requests
permite a los desarrolladores interactuar con APIs y realizar peticiones web de una manera muy sencilla. En esta guía, exploraremos cómo utilizar esta poderosa biblioteca, sus funciones básicas, y algunos consejos útiles para sacarle el máximo provecho.
¿Qué es la biblioteca requests
?
requests
es una biblioteca de Python que permite enviar solicitudes HTTP de forma sencilla y efectiva. Con ella, puedes realizar operaciones como GET, POST, PUT, DELETE, y muchas más con solo unas pocas líneas de código. Esta biblioteca abstrae los detalles complejos del protocolo HTTP, lo que facilita la interacción con servicios web.
Instalación de requests
Antes de comenzar a utilizar requests
, primero necesitas instalarlo. Esto se puede hacer fácilmente utilizando pip:
pip install requests
Realizando una solicitud GET
La forma más básica de utilizar requests
es realizar una solicitud GET. A continuación, te mostramos cómo hacerlo.
Ejemplo básico
Aquí tienes un ejemplo de cómo realizar una solicitud GET a una API pública:
import requests
response = requests.get("https://jsonplaceholder.typicode.com/posts/1")
data = response.json() # Parsear la respuesta JSON
print(data)
En este ejemplo, hacemos una solicitud a una API que devuelve un post en formato JSON. Usamos response.json()
para convertir la respuesta en un diccionario de Python.
Realizando una solicitud POST
Además de GET, requests
permite realizar solicitudes POST, que a menudo se utilizan para enviar datos a un servidor.
Ejemplo de POST
import requests
url = "https://jsonplaceholder.typicode.com/posts"
payload = {"title": "foo", "body": "bar", "userId": 1}
response = requests.post(url, json=payload)
data = response.json()
print(data)
Aquí estamos enviando un nuevo post a la API en formato JSON. requests
automágicamente configura el header Content-Type
a application/json
.
Manejo de errores
Es importante manejar errores adecuadamente al realizar solicitudes HTTP. requests
proporciona varios métodos para verificar el estado de la respuesta.
Comprobando el código de estado
if response.status_code == 200:
print("Éxito:", data)
else:
print("Error:", response.status_code)
Además de verificar el código de estado, podemos usar raise_for_status()
que lanzará una excepción si la solicitud no fue exitosa:
try:
response.raise_for_status()
data = response.json()
except requests.exceptions.HTTPError as e:
print(f"Error en la solicitud: {e}")
Enviando parámetros en la URL
A menudo, es necesario enviar parámetros en la URL. Esto se puede hacer utilizando el argumento params
.
Ejemplo de parámetros
url = "https://jsonplaceholder.typicode.com/posts"
params = {"userId": 1}
response = requests.get(url, params=params)
data = response.json()
print(data)
Trabajo con headers
Usar headers personalizados es otra característica poderosa de requests
. Puedes especificar headers HTTP de la siguiente manera:
Ejemplo de headers personalizados
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.get(url, headers=headers)
Conclusión
La biblioteca requests
es una herramienta esencial para cualquier desarrollador de Python que necesite interactuar con servicios web. Su diseño intuitivo y la capacidad de realizar conexiones HTTP de manera sencilla la convierten en una opción preferida en el mundo del desarrollo. Con lo que hemos cubierto en esta guía, ya deberías estar equipado para comenzar a utilizar requests
en tus proyectos.
Tips Adicionales
- Aprovecha la documentación oficial de
requests
: Requests Documentation - Asegúrate de manejar adecuadamente las excepciones y errores para hacer tu código más robusto.
- Utiliza herramientas como Postman para probar tus APIs antes de implementarlas en tu código Python.
Ya estás listo para comenzar a utilizar la biblioteca requests
en tus proyectos de Python. ¡Feliz programación!