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.
Ü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.
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/hSchrittweise 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.