Şimdi yükleniyor

Python ile API Kullanarak Hava Durumu Sorgulama

Python ile API Kullanarak Hava Durumu Sorgulama

Günümüzde anlık hava durumu verilerine ulaşmak birçok uygulama için vazgeçilmez bir ihtiyaç haline gelmiştir. Python programlama dili ile dış kaynaklardan veri çekmek oldukça kolaydır. Bu yazıda, Python kullanarak bir hava durumu sorgulama uygulamasının nasıl yapılacağını adım adım anlatacağım.

Bu projede, en çok tercih edilen hava durumu servislerinden biri olan OpenWeatherMap API kullanılacaktır

Neden OpenWeatherMap API?

  • Ücretsiz plan ile temel verilere erişim sağlanabiliyor.
  • JSON formatında veri döndürüyor.
  • Saatlik, günlük ve mevcut hava durumu verileri sunuyor.
  • API dökümantasyonu oldukça kapsamlı.

Gereksinimler

Bu projede kullanılacak araçlar ve kütüphaneler ;

  • Python 3.x
  • requests kütüphanesi
  • OpenWeatherMap API anahtarı
pip install requests

OpenWeatherMap API Key Alma

  1. https://openweathermap.org/ adresine gidin.
  2. Ücretsiz hesap oluşturun.
  3. “My API keys” bölümünden bir anahtar oluşturun.
  4. Bu API key’i kod içerisinde kullanacağız.

Python Kod Örneği: Hava Durumu Sorgulama

Aşağıdaki örnekte, kullanıcıdan şehir adı alınıp o şehrin güncel hava durumu bilgisi ekrana yazdırılır.

import requests

def hava_durumu_sorgula(sehir):
    api_key = "BURADA SİZİN APİ KEY OLMALI"
    base_url = "https://api.openweathermap.org/data/2.5/weather"
    params = {
        'q': sehir,
        'appid': api_key,
        'lang': 'tr',
        'units': 'metric'
    }
    
    response = requests.get(base_url, params=params)
    data = response.json()
    
    if response.status_code == 200:
        print(f"{sehir} için hava durumu:")
        print(f"Sıcaklık: {data['main']['temp']}°C")
        print(f"Hava: {data['weather'][0]['description']}")
        print(f"Nem: %{data['main']['humidity']}")
        print(f"Rüzgar Hızı: {data['wind']['speed']} m/s")
    else:
        print("Hava durumu bilgisi alınamadı.")

# Örnek kullanım
sehir_adi = input("Şehir adı girin: ")
hava_durumu_sorgula(sehir_adi)

Şehir Listesi Çekme

Şehir listesi için aşağıda paylaştığım kodları kullanabilirsiniz veya github üzerinde inceleyebilirsiniz.

Şehir listesini json olarak isterseniz buradan görebilir veya buradan indirebilirsiniz.

import requests

# JSON dosyasını URL'den çek
url = 'https://serdarkaraca.com.tr/demo/City_List.json'
response = requests.get(url)

if response.status_code == 200:
    sehirler = response.json()
    turkiye_sehirleri = [s for s in sehirler if s['country'] == 'TR']

    # Sıra numarası ile şehirleri yazdır
    for i, sehir in enumerate(turkiye_sehirleri, start=1):
        print(f"Sıra : {i} - Şehir veya İlçe Adı : {sehir['name']}")
else:
    print("Dosya alınamadı, durum kodu:", response.status_code)

Gelişmiş Özellik Önerileri

  • Kullanıcının konumuna göre otomatik hava durumu verisi alma
  • Hava durumu geçmişini veritabanında tutma
  • Saatlik hava tahmini grafikleri

Python ile İlgili Tüm Yazılarımı Buradan Veya Tüm Örneklerimi Github Üzerinden İnceleyebilirsiniz.


Bir Yorum Yazın