Python Hava Durumu Veri API'si Alıcısı

Standart kitaplıkları kullanarak Python'da gerçek zamanlı hava durumu ayrıntılarını alın. API isteklerini, JSON dönüşümlerini ve örnek yedekleri öğrenin.

Editör'de deneyin

Genel Bakış

Üçüncü taraf API'leri entegre etmek, modern web arka uç geliştiricileri için çok önemli bir beceridir. Hava durumu alıcıları Python programlarını doğrudan canlı iklim telemetri sunucularına bağlar.

Normalde harici 'requests' modülünü kullanırdık, ancak Python'un standart kütüphanesi, bağımlılıkların kurulmasını gerektirmeden, kullanıma hazır olarak çalışan 'urllib.request'i sağlar.

Bu etkileşimli komut dosyası, koordinatları ve sıcaklıkları almak için genel, açık erişimli bir coğrafi kodlama uç noktası kullanır ve try-hariç ayrıştırma döngülerini, URL kodlamasını ve JSON akışı okumalarını gösterir.

Kod ve Yürütme Çıkışı

Genel hava durumu telemetri sunucularını sorgulayan standart bir kitaplık urllib komut dosyası.

weather_fetcher.py
Editör'de deneyin
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 Çıkışı
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

Adım Adım Uygulama

  • Özel kontrol paneli arayüzlerine hava durumu ekranı widget'ları ekleme
  • Kullanıcıları aşırı sıcaklık olaylarına karşı uyaran otomatik cron komut dosyaları yazma
  • Urllib ve standart kütüphane ağ protokollerine hakim olma

Sıkça Sorulan Sorular

Bu komut dosyasıPyRun'nin tarayıcı motorunda çalışabilir mi?

Evet,PyRun'nin tarayıcı arka ucu urllib'i yakalar ve soket isteklerini talep ederek bunları güvenli bir şekilde tarayıcı düzeyinde getirme sorgularına dönüştürür.

Koordinatlar enlem ve boylam nedir?

Dünyadaki coğrafi konum koordinatlarını temsil ederler. Enlem, Ekvator'dan kuzey-güney mesafesini ölçerken, boylam, Başlangıç ​​Meridyeninden doğu-batı mesafesini ölçer.

İlgili Konular