Outil de récupération de l'API de données météorologiques Python

Récupérez les détails météorologiques en temps réel en Python à l'aide de bibliothèques standard. Découvrez les requêtes API, les conversions JSON et les simulations de secours.

Essayez dans l'éditeur

Aperçu

L'intégration d'API tierces est une compétence cruciale pour les développeurs backend Web modernes. Les récupérateurs de météo connectent les programmes Python directement aux serveurs de télémétrie climatique en direct.

Normalement, nous utiliserions le module externe « requests », mais la bibliothèque standard de Python fournit « urllib.request » qui fonctionne immédiatement sans nécessiter l'installation de dépendances.

Ce script interactif utilise un point de terminaison de géocodage public et en libre accès pour récupérer les coordonnées et les températures, illustrant les boucles d'analyse try-sauf, le codage d'URL et les lectures de flux JSON.

Sortie de code et d'exécution

Un script urllib de bibliothèque standard interrogeant les serveurs publics de télémétrie météorologique.

weather_fetcher.py
Essayez dans l'éditeur
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)
Sortie terminale
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

Mise en œuvre étape par étape

  • Ajout de widgets d'affichage météo aux interfaces de tableau de bord personnalisées
  • Écriture de scripts cron automatisés qui alertent les utilisateurs des événements de température extrême
  • Maîtriser les protocoles réseau urllib et bibliothèques standards

Foire aux questions

Ce script peut-il s'exécuter dans le moteur de navigateur dePyRun?

Oui, le backend du navigateur dePyRunintercepte urllib et demande des requêtes de socket, les convertissant en requêtes de récupération au niveau du navigateur en toute sécurité.

Quelles sont les coordonnées latitude et longitude ?

Ils représentent les coordonnées géolocalisées sur la Terre. La latitude mesure la distance nord-sud de l'équateur, tandis que la longitude mesure la distance est-ouest du premier méridien.

Sujets connexes