Recuperador de API de datos meteorológicos de Python

Obtenga detalles meteorológicos en tiempo real en Python utilizando bibliotecas estándar. Aprenda solicitudes de API, conversiones JSON y alternativas simuladas.

Pruébelo en el editor

Descripción general

La integración de API de terceros es una habilidad crucial para los desarrolladores de backend web modernos. Los buscadores de clima conectan programas Python directamente a servidores de telemetría climática en vivo.

Normalmente, usaríamos el módulo externo `solicitudes`, pero la biblioteca estándar de Python proporciona `urllib.request` que funciona de forma inmediata sin necesidad de instalar dependencias.

Este script interactivo utiliza un punto final de geocodificación público y de acceso abierto para obtener coordenadas y temperaturas, lo que ilustra bucles de análisis try-except, codificación de URL y lecturas de secuencias JSON.

Código y salida de ejecución

Un script urllib de biblioteca estándar que consulta servidores públicos de telemetría meteorológica.

weather_fetcher.py
Pruébelo en el editor
import urllib.request
import json

def fetch_weather(city_lat, city_lon):
    # Free, open weather API (No authentication key needed)
    url = f"https://api.open-meteo.com/v1/forecast?latitude={city_lat}&longitude={city_lon}&current_weather=true"
    
    print(f"Connecting to Weather API for lat={city_lat}, lon={city_lon}...")
    
    try:
        req = urllib.request.Request(
            url, 
            headers={'User-Agent': 'PyRun Weather Client/1.0'}
        )
        
        with urllib.request.urlopen(req, timeout=5) as response:
            raw_data = response.read().decode('utf-8')
            weather_json = json.loads(raw_data)
            
            current = weather_json.get("current_weather", {})
            temp = current.get("temperature")
            wind = current.get("windspeed")
            
            print("Successfully retrieved weather telemetry!")
            print(f"  Current Temperature: {temp}°C")
            print(f"  Wind Speed:          {wind} km/h")
            
    except Exception as e:
        print(f"Could not retrieve weather details: {e}")

# Run fetch for Tokyo coordinates (lat: 35.6762, lon: 139.6503)
fetch_weather(35.6762, 139.6503)
Salida terminal
Connecting to Weather API for lat=35.6762, lon=139.6503...
Successfully retrieved weather telemetry!
  Current Temperature: 22.4°C
  Wind Speed:          14.2 km/h

Implementación paso a paso

  • Agregar widgets de visualización del clima a interfaces de tablero personalizadas
  • Escribir scripts cron automatizados que alerten a los usuarios sobre eventos de temperaturas extremas
  • Dominar urllib y los protocolos de red de bibliotecas estándar

Preguntas frecuentes

¿Se puede ejecutar este script en el motor del navegador dePyRun?

Sí, el backend del navegador dePyRunintercepta urllib y solicita solicitudes de socket, convirtiéndolas en consultas de recuperación a nivel del navegador de forma segura.

¿Cuáles son las coordenadas de latitud y longitud?

Representan coordenadas geolocalizadas en la Tierra. La latitud mide la distancia norte-sur desde el ecuador, mientras que la longitud mide la distancia este-oeste desde el primer meridiano.

Temas relacionados