Recupero API dati meteorologici Python
Recupera i dettagli meteorologici in tempo reale in Python utilizzando le librerie standard. Scopri le richieste API, le conversioni JSON e i fallback simulati.
Panoramica
L'integrazione di API di terze parti è una competenza cruciale per i moderni sviluppatori di backend web. I recuperatori meteorologici collegano i programmi Python direttamente ai server di telemetria climatica in tempo reale.
Normalmente utilizzeremmo il modulo esterno "requests", ma la libreria standard di Python fornisce "urllib.request" che funziona immediatamente senza richiedere l'installazione di dipendenze.
Questo script interattivo utilizza un endpoint di geocodifica pubblico e ad accesso aperto per recuperare coordinate e temperature, illustrando cicli di analisi try-eccetto, codifica URL e letture di flussi JSON.
Codice e output di esecuzione
Uno script urllib della libreria standard che interroga i server di telemetria meteorologica pubblici.
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}¤t_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)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/hImplementazione passo dopo passo
- Aggiunta di widget di visualizzazione meteo alle interfacce dashboard personalizzate
- Scrittura di script cron automatizzati che avvisano gli utenti di eventi di temperature estreme
- Padroneggiare urllib e protocolli di rete di librerie standard
Domande frequenti
Questo script può essere eseguito nel motore del browser diPyRun?
Sì, il backend del browserPyRunintercetta urllib e richiede richieste socket, convertendole in query di recupero a livello di browser in modo sicuro.
Cosa sono le coordinate di latitudine e longitudine?
Rappresentano le coordinate geolocalizzate sulla Terra. La latitudine misura la distanza nord-sud dall'equatore, mentre la longitudine misura la distanza est-ovest dal Primo Meridiano.