Uso de API de datos públicos
OpenWeatherMap, Wikipedia y API gubernamentales públicas: ejemplos prácticos de recopilación de datos.
Uso de API de datos públicos es una lección gratuita de Learn AI with Python en CoddyKit. Esta es la lección 4 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Learn AI with Python, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Learn AI with Python incluye 4 lecciones en total.
Práctica con APIs públicas
La mejor forma de aprender a recopilar datos es utilizar APIs reales. En esta lección se utilizan tres APIs accesibles:
- JSONPlaceholder — una API REST ficticia para practicar, sin necesidad de ninguna clave
- OpenWeatherMap — datos meteorológicos reales, con una clave de API gratuita
- Wikipedia API — contenido y búsquedas de artículos
JSONPlaceholder para practicar
JSONPlaceholder ofrece publicaciones, usuarios y comentarios ficticios sin autenticación. Es perfecto para probar su código de solicitudes y análisis.
import requests
resp = requests.get("https://jsonplaceholder.typicode.com/posts", timeout=10)
resp.raise_for_status()
posts = resp.json()
print(len(posts), "posts")
print(posts[0]["title"])De la respuesta al flujo de trabajo con DataFrame
El flujo de trabajo estándar es el siguiente: obtenga el JSON y cárguelo directamente en un DataFrame para analizarlo.
import pandas as pd
posts = requests.get("https://jsonplaceholder.typicode.com/posts", timeout=10).json()
df = pd.DataFrame(posts)
print(df.head())
print(df["userId"].value_counts())OpenWeatherMap — cómo obtener una clave
OpenWeatherMap requiere una clave de API gratuita que se pasa como parámetro appid. Mantenga las claves fuera del código: léalas desde una variable de entorno.
import os
API_KEY = os.environ["OWM_API_KEY"] # set OWM_API_KEY in your shellOpenWeatherMap — parámetros de consulta
El endpoint del tiempo actual acepta q (ciudad), appid (clave) y units (métrico/imperial).
import requests, os
params = {
"q": "Istanbul",
"appid": os.environ["OWM_API_KEY"],
"units": "metric",
}
resp = requests.get("https://api.openweathermap.org/data/2.5/weather", params=params, timeout=10)
resp.raise_for_status()
data = resp.json()Extracción de campos JSON anidados
Las respuestas de las APIs reales están profundamente anidadas. Acceda a los datos mediante claves encadenadas y utilice .get() con valores predeterminados para los campos que podrían faltar.
temp = data["main"]["temp"]
humidity = data["main"]["humidity"]
desc = data["weather"][0]["description"]
print(f"{temp} C, {humidity}% humidity, {desc}")Recopilación del tiempo de varias ciudades
Recorra las ciudades, aplane los campos que le interesen en una lista de diccionarios y, después, cree un DataFrame.
cities = ["Istanbul", "London", "Tokyo"]
rows = []
for c in cities:
p = {"q": c, "appid": os.environ["OWM_API_KEY"], "units": "metric"}
d = requests.get("https://api.openweathermap.org/data/2.5/weather", params=p, timeout=10).json()
rows.append({"city": c, "temp": d["main"]["temp"], "desc": d["weather"][0]["description"]})
import pandas as pd
df = pd.DataFrame(rows)La Wikipedia API
La Wikipedia API ofrece búsquedas y contenido de artículos. Espera un action y format=json, además de un encabezado User-Agent descriptivo.
params = {
"action": "query",
"list": "search",
"srsearch": "machine learning",
"format": "json",
}
headers = {"User-Agent": "data-collector/1.0 (you@example.com)"}
resp = requests.get("https://en.wikipedia.org/w/api.php", params=params, headers=headers, timeout=10)
results = resp.json()["query"]["search"]Obtención de extractos de artículos
Utilice prop=extracts con exintro=True para obtener el párrafo introductorio de un artículo; resulta práctico para crear conjuntos de datos de texto.
params = {
"action": "query",
"prop": "extracts",
"exintro": True,
"explaintext": True,
"titles": "Artificial intelligence",
"format": "json",
}
resp = requests.get("https://en.wikipedia.org/w/api.php", params=params, timeout=10)
pages = resp.json()["query"]["pages"]
for pid, page in pages.items():
print(page["extract"][:300])Lectura de la documentación de una API
Cada API es diferente. Antes de programar, lea en la documentación cuál es la URL base, los parámetros obligatorios, el método de autenticación, la estructura de la respuesta y los límites de solicitudes.
Pruebe una solicitud de forma interactiva, inspeccione resp.json() y, después, cree el bucle basándose en la estructura real.
Uso responsable de las APIs
Las APIs públicas son recursos compartidos. Utilícelas de forma responsable:
- Envíe un
User-Agentidentificativo - Almacene en caché los resultados para no volver a solicitar los mismos datos
- Espere entre solicitudes y respete los límites de solicitudes
- Lea y siga las condiciones de uso de cada API
Comprobación rápida: API de práctica
Quiere probar su código de solicitudes y análisis sin registrarse para obtener una clave de API.
Resumen: APIs de datos públicos
Ha practicado la recopilación de datos mediante APIs reales:
- JSONPlaceholder para practicar sin autenticación
- OpenWeatherMap con los parámetros
q,appidyunits, y una clave obtenida del entorno - Wikipedia API para buscar y obtener extractos de artículos
- El flujo de trabajo de obtención a DataFrame y la forma de acceder a datos JSON anidados
- Buenas prácticas: User-Agent, almacenamiento en caché, límites de solicitudes y condiciones de uso
Con esto termina la recopilación de datos. A continuación: expresiones regulares para la IA de texto.
Preguntas frecuentes
¿La lección «Uso de API de datos públicos» es gratis?
Sí — el texto completo de «Uso de API de datos públicos» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Learn AI with Python, actualiza a CoddyKit PRO. El curso de Learn AI with Python incluye 4 lecciones en total.
¿Qué aprenderé en «Uso de API de datos públicos»?
OpenWeatherMap, Wikipedia y API gubernamentales públicas: ejemplos prácticos de recopilación de datos. Practicas Learn AI with Python con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar Learn AI with Python?
No se requiere experiencia previa. Learn AI with Python en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 4 de 4.
¿Cuánto tiempo toma la lección «Uso de API de datos públicos»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de Learn AI with Python?
Sí. Cada lección de Learn AI with Python incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Fundamentos de las API REST para recopilar datos
- Paginación y recopilación de grandes conjuntos de datos
- Almacenamiento eficiente de datos recopilados
- Uso de API de datos públicos