![Navegadores Web de Bajo Consumo para Linux](https://trspos.com/wp-content/uploads/pequenos-navegadores-web-de-huella-linux-400x267.jpg)
Python Requests Get Query Parameters
![Python Requests Get Query Parameters](https://trspos.com/wp-content/uploads/solicitudes-de-python-obtenga-parametros-de-consulta.jpg)
En la programación web, es común interactuar con las APIs (Application Programming Interfaces) de diferentes sistemas para obtener información o realizar acciones. Una de las formas de interactuar con estas APIs es a través de peticiones HTTP, y una de las librerías más utilizadas para realizar estas peticiones en Python es Requests.
En este artículo, se explorará cómo realizar una petición GET con parámetros de consulta (query parameters) utilizando la librería Requests en Python. Se explicará qué son los parámetros de consulta y cómo se utilizan en la URL de la petición, se mostrará cómo utilizarlos en una petición GET con la librería Requests y se proporcionarán ejemplos prácticos.
Qué son los parámetros de consulta
Los parámetros de consulta son una forma de enviar información adicional a través de la URL en una petición GET. Estos parámetros se especifican en la URL después del signo de interrogación ('?'), separados por el símbolo ampersand ('&').
Por ejemplo, en la siguiente URL se están enviando dos parámetros de consulta: 'q' con el valor 'python', y 'page' con el valor '2':
https://api.example.com/search?q=python&page=2
En este caso, la petición GET solicita buscar la palabra 'python' en la página 2 de la API. Los parámetros de consulta son opcionales y se pueden omitir si la API no los espera.
Cómo utilizar parámetros de consulta en una petición GET con Requests
Requests es una librería de Python que facilita la realización de peticiones HTTP en programas Python. Para enviar parámetros de consulta en una petición GET con Requests, se utilizan los argumentos opcionales 'params' del método 'get'.
A continuación se muestra un ejemplo de cómo enviar una petición GET con parámetros de consulta utilizando Requests:
import requests
response = requests.get('https://api.example.com/search', params={'q': 'python', 'page': '2'})
print(response.status_code)
print(response.json())
En este ejemplo, se está enviando una petición GET a la URL 'https://api.example.com/search' con dos parámetros de consulta: 'q' con el valor 'python', y 'page' con el valor '2'. La respuesta de la API se almacena en la variable 'response' y se muestra el código de respuesta y el contenido de la respuesta.
Ejemplos prácticos
A continuación se muestran dos ejemplos prácticos de cómo obtener información de una API utilizando parámetros de consulta con Requests en Python:
Ejemplo 1: Obtener el clima actual
import requests
city = input('Ingresa el nombre de la ciudad: ')
response = requests.get('https://api.openweathermap.org/data/2.5/weather', params={'q': city, 'appid': 'API_KEY', 'units': 'metric'})
if response.status_code == 200:
data = response.json()
print('El clima actual en', data['name'], 'es:', data['weather'][0]['description'], 'con una temperatura de', data['main']['temp'], 'grados Celsius.')
else:
print('No se pudo obtener el clima.')
En este ejemplo, se utiliza la API de OpenWeatherMap para obtener el clima actual de una ciudad específica. Se solicita al usuario ingresar el nombre de la ciudad, se envía una petición GET a la URL 'https://api.openweathermap.org/data/2.5/weather' con el parámetro de consulta 'q' que contiene el nombre de la ciudad, y se envían también otros dos parámetros: 'appid' con el valor de la clave de API, y 'units' con el valor 'metric' para obtener la temperatura en grados Celsius.
Si la petición tiene éxito (status_code igual a 200), se muestra al usuario la descripción del clima y la temperatura en la ciudad ingresada. De lo contrario, se muestra un mensaje de error.
Ejemplo 2: Obtener información de una película
import requests
title = input('Ingresa el título de la película: ')
response = requests.get('https://www.omdbapi.com', params={'t': title, 'apikey': 'API_KEY'})
if response.status_code == 200:
data = response.json()
print('Título:', data['Title'])
print('Año:', data['Year'])
print('Género:', data['Genre'])
print('Director:', data['Director'])
else:
print('No se pudo obtener información de la película.')
En este ejemplo, se utiliza la API de OMDB para obtener información de una película específica. Se solicita al usuario ingresar el título de la película, se envía una petición GET a la URL 'https://www.omdbapi.com' con el parámetro de consulta 't' que contiene el título de la película, y se envía también el parámetro 'apikey' con el valor de la clave de API.
Si la petición tiene éxito (status_code igual a 200), se muestra al usuario información relevante de la película, como el título, el año de lanzamiento, el género y el director. De lo contrario, se muestra un mensaje de error.
Conclusión
En este artículo se ha explicado qué son los parámetros de consulta en una petición GET, cómo utilizarlos con la librería Requests en Python, y se han proporcionado ejemplos prácticos de su uso en diferentes APIs. La utilización de parámetros de consulta en peticiones HTTP permite personalizar y filtrar los resultados de las API para obtener información precisa y relevante.
Preguntas frecuentes
¿Es posible enviar parámetros de consulta en una petición POST?
Sí, es posible enviar parámetros de consulta en una petición POST utilizando la librería Requests en Python. Para hacerlo, se utilizan los argumentos opcionales 'params' del método 'post'. Sin embargo, no es una práctica común ya que los parámetros de consulta están destinados a ser utilizados en peticiones GET.
¿Qué sucede si se envía una petición GET sin parámetros de consulta?
Si se envía una petición GET sin parámetros de consulta, la API responderá con una lista de todos los resultados disponibles sin ningún filtro específico.
¿Se pueden enviar múltiples valores para un mismo parámetro de consulta en una petición GET?
Sí, es posible enviar múltiples valores para un mismo parámetro de consulta en una petición GET separando los valores por comas. Por ejemplo:
https://api.example.com/search?q=python,javascript,java
En este caso, se están buscando tres lenguajes de programación diferentes en la API.
Deja una respuesta