Python-Wetterdaten-API-Abrufer

Rufen Sie Echtzeit-Wetterdetails in Python mithilfe von Standardbibliotheken ab. Erfahren Sie mehr über API-Anfragen, JSON-Konvertierungen und Schein-Fallbacks.

Versuchen Sie es im Editor

Übersicht

Die Integration von APIs von Drittanbietern ist eine entscheidende Fähigkeit für moderne Web-Backend-Entwickler. Wetterabrufer verbinden Python-Programme direkt mit Live-Klima-Telemetrieservern.

Normalerweise würden wir das externe Modul „requests“ verwenden, aber die Standardbibliothek von Python stellt „urllib.request“ bereit, das sofort funktioniert, ohne dass Abhängigkeiten installiert werden müssen.

Dieses interaktive Skript verwendet einen öffentlichen, frei zugänglichen Geokodierungsendpunkt zum Abrufen von Koordinaten und Temperaturen und veranschaulicht Try-Except-Parsing-Schleifen, URL-Codierung und JSON-Stream-Lesevorgänge.

Code- und Ausführungsausgabe

Ein URL-Skript der Standardbibliothek, das öffentliche Wettertelemetrieserver abfragt.

weather_fetcher.py
Versuchen Sie es im 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)
Terminal-Ausgabe
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

Schrittweise Umsetzung

  • Hinzufügen von Wetteranzeige-Widgets zu benutzerdefinierten Dashboard-Oberflächen
  • Schreiben automatisierter Cron-Skripte, die Benutzer vor extremen Temperaturereignissen warnen
  • Beherrschen von URLlib und Standard-Bibliotheksnetzwerkprotokollen

Häufig gestellte Fragen

Kann dieses Skript in der Browser-Engine vonPyRunausgeführt werden?

Ja, das Browser-Backend vonPyRunfängt urllib ab, fordert Socket-Anfragen an und wandelt sie sicher in Abrufabfragen auf Browserebene um.

Was sind Breiten- und Längenkoordinaten?

Sie stellen Geolokalisierungskoordinaten auf der Erde dar. Der Breitengrad misst die Nord-Süd-Entfernung vom Äquator, während der Längengrad die Ost-West-Entfernung vom Nullmeridian misst.

Verwandte Themen