Python tiene una biblioteca extensa y extensible que incluye muchas funciones y paquetes para una variedad de usos. Uno de estos paquetes se denomina biblioteca de solicitudes que se utiliza para realizar llamadas a la API. Pero, ¿qué es una API y cómo la utilizan los desarrolladores?
En esta publicación, veremos cómo configurar Python para comunicarse con la API y cómo realizar llamadas a la API. También aprenderá cómo usar los datos de la API y mostrar estos datos a los usuarios de su software. Verá algunos ejemplos de código que muestran la sintaxis y el código utilizado para realizar estas acciones en beneficio de su software.
Comencemos sin más dilación.
¿Qué es API?
El acrónimo API significa Interfaz de programación de aplicaciones, y es un dispositivo como un servidor que se utiliza para enviar y recuperar datos mediante código de programación. Muy a menudo, esta tecnología se usa para recuperar datos de una fuente y mostrarlos en una aplicación y sus usuarios.
Las API funcionan de la misma manera que un navegador, cuando visita un sitio web, se envía una solicitud de información al servidor y el servidor responde. La única diferencia es el tipo de datos al que corresponde el servidor, en el caso de las API, los datos son JSON.
JSON significa Notación de objetos de JavaScript, que es la notación de datos estándar para las API en la mayoría de los lenguajes de software.
Solicitudes y códigos de respuesta de la API de Python
Cualquier solicitud a un servidor de cualquier tipo siempre devuelve un objeto de respuesta que consta de varias partes. Hay dos partes en esta respuesta que son importantes cuando se usan las API, una es el código de estado y la otra es el cuerpo de la respuesta.
El código de estado se utiliza para indicar el estado de la solicitud, como éxito o fracaso. Hay una gran cantidad de códigos de respuesta que se utilizan para indicar diferentes estados, veamos algunos ejemplos.
- 200: Éxito impecable con la respuesta.
- 301: redirección de URL
- 400 Petición Incorrecta
- 401: Acceso denegado
- 403: Solicitud prohibida
- 404 No encontrado
- 503: error del servidor
Cada uno de los códigos de respuesta comienza con un número que se utiliza para categorizar la respuesta. Las respuestas que comienzan con dos indican éxito, tres indican una URL de redireccionamiento y los números cuatro y cinco indican que ocurrió un error.
El paquete de solicitud no forma parte de la biblioteca estándar, por lo que debe instalarlo e importarlo para usarlo. Para instalarlos con pip o conda tienes que usar la siguiente línea de código.
pip install requests
conda install requests
Luego, para importarlo, deberá usar la siguiente línea de código, una vez que haya hecho eso, estará listo para realizar sus solicitudes de API.
import requests
¿Cómo me inscribo?
El proceso de realizar una solicitud de API usando Python es realmente simple, solo necesita saber con qué API desea comunicarse. En Python, solo necesita una línea de código para realizar una llamada API básica, esto se hace con la función de solicitud get ().
Puede ver cómo se ve el proceso mirando el código a continuación.
response = requests.get("https://someapiurl.clom/api")
Esta línea de código utiliza la biblioteca de solicitudes para acceder a la función de obtención, que luego llama a la URL de destino. Si la URL apunta a una ubicación que no existe, se ha movido o no tiene permiso, obtendrá un código de estado que indica el problema. De lo contrario, el objeto de respuesta se almacenará en la variable de respuesta.
Para acceder a los datos en el cuerpo de la respuesta de una manera fácil de administrar, puede usar el paquete Python JSON que forma parte de la biblioteca estándar. El paquete JSON incluye dos funciones principales que lo ayudarán a formatear sus datos, lo que facilitará el trabajo con la API.
Las dos funciones son json.dumps () y json.loads (), cada una de las cuales tiene propósitos ligeramente diferentes. La función dumps () convierte un objeto de Python en una cadena, y load () toma una cadena JSON y la convierte en un objeto de Python. Por ejemplo, veamos cómo funciona dumps (), suponiendo que está llamando a la API de usuario aleatorio.
import json
def jprint(obj):
# create a formatted string of the Python JSON object
text = json.dumps(obj, sort_keys=True, indent=4)
print(text)
jprint(response.json())
Puede obtener una respuesta similar al siguiente código JSON.
{"results": [{"gender": "male", "name": {"title": "Mr", "first": "Norman", "last": "Knight"}}]}
Como puede ver, este es un formato muy difícil de leer para los datos que queremos usar, este problema se puede resolver con la función dumps () de JSON. El resultado de pasar este objeto a la función dumps() se puede ver a continuación.
{
"results": [
{
"gender": "male",
"name": {
"title": "Mr",
"first": "Norman",
"last": "Knight"
}
}
]
}
Como puede ver, este formato es mucho más fácil de leer y simplifica el proceso de trabajar con datos API. Todo esto es muy útil, pero si desea solicitar datos más específicos, debe pasar parámetros de consulta para eso. Hay dos formas de hacer esto en Python, ya sea usando la palabra clave params o agregando parámetros a la URL.
Agregar parámetros usando la palabra clave params es la forma recomendada de manejar consultas con parámetros. Mostrar los parámetros como un objeto de diccionario de Python permite que la biblioteca de solicitudes maneje parte del trabajo pesado.
Veamos este proceso más a fondo.
Cómo enviar una solicitud con parámetros
Hacer una solicitud usando parámetros no es muy diferente de lo que ha visto hasta ahora, solo agregamos la palabra clave params a la solicitud de obtención después de la URL. Para hacer esto, separe la URL de la palabra clave params usando una coma.
Veamos qué aspecto tiene a continuación.
parameters = {
"inc": {
gender,
name,
},
"results": 5
}
Usando este diccionario de parámetros, podemos pasar esta información a la solicitud get () para determinar qué datos queremos de una API de usuario aleatorio.
response = requests.get("https://randomuser.me/api/", params=parameters)
Primeros pasos con la API de Python
A estas alturas, ha aprendido mucho sobre las API de Python, desde la teoría detrás de ellas hasta la práctica de usarlas. Descubrió cómo instalar los requisitos de Python para comunicarse con las API y cómo usarlos en su código. También aprendió cómo modificar solicitudes y formatearlas para facilitar su uso.
Yendo más allá, puede fundamentar su conocimiento poniendo en práctica estas habilidades y probando varias API de acceso abierto. Además, puede aprovechar lo que aprendió aquí explorando otras partes de la biblioteca de solicitudes de Python.








