- Bağlantıyı al
- X
- E-posta
- Diğer Uygulamalar
- Bağlantıyı al
- X
- E-posta
- Diğer Uygulamalar
Bu proje, halka açık bir API'dan (örneğin döviz kurları, hava durumu veya kamu verileri) veri çekmeyi, karmaşık JSON yapısını düzleştirmeyi ve analiz için hazırlamayı amaçlar.
requests, json, pandas, logging, OOPrequests, json, OOP)Amaç: API iletişimini güvenilir bir şekilde yöneten bir yapı kurmak.
ApiClient Sınıfı: API'ın temel URL'sini ve varsa anahtarını (API Key) tutacak nitelikler (attributes) tanımlayın.
veri_cek(endpoint) Metodu: Bu metoda bir API uç noktası (/latest, /users gibi) girdi olarak verin.
İstek Atma: requests.get() kullanarak API'a istek atın.
JSON Dönüşümü: Başarılı bir yanıtta (response.status_code == 200), .json() metodu ile yanıtı bir Python sözlüğüne (dict) dönüştürün ve geri döndürün.
json, pandas)Amaç: API'dan gelen iç içe (nested) JSON yapısını pandas'ın anlayacağı düz (flat) tablo formatına getirmek.
Dönüşüm Metodu: ApiClient sınıfına veya ayrı bir JsonProcessor sınıfına json_duzlestir(veri) adında bir metot ekleyin.
Veri Ayıklama: JSON verisi içindeki gereksiz üst katmanları (örneğin, "data": { ... } yapısındaki "data") çıkarın.
DataFrame Yükleme: Temizlenmiş JSON yapısını pd.DataFrame.from_dict() veya pd.json_normalize() kullanarak doğrudan bir DataFrame'e yükleyin. (İpucu: Eğer iç içe listeler varsa, json_normalize hayat kurtarıcıdır.)
pandas)Amaç: Düzleştirilmiş veriden analiz yapmak.
Filtreleme: DataFrame üzerinde belirli koşullara göre (örneğin, popülasyonu 1 milyondan fazla olan şehirler) filtreleme yapın.
Sıralama: Veriyi belirli bir sütuna göre (Beğeni Sayısı, Son Güncelleme Tarihi gibi) sıralayın.
Özetleme: Veri setinin ana istatistiklerini (.describe()) yazdırın.
logging)Hata Kontrolü: API isteği başarısız olduğunda (status_code 400 veya 500 ise), hata kodunu belirten logging.error mesajları oluşturun.
Boş Veri: API'dan veri gelse bile, JSON yanıtının beklediğiniz alanı boşsa, bir logging.warning mesajı ile durumu bildirin.
"Web'in Diliyle Konuşun!
JSON, günümüz yazılımlarının omurgasıdır. Bu projeyi tamamlayarak, yalnızca bir API'dan veri çekmeyi değil, aynı zamanda o karmaşık veriyi anlamlı bir
pandastablosuna ustaca dönüştürmeyi öğrenirsiniz. Bu yetenek, web geliştirme ve veri mühendisliği rollerinde en çok aranan becerilerden biridir. Projeyi bitirdiğinizde, herhangi bir web servisiyle entegre olmaya hazırsınız!"
Yorumlar
Yorum Gönder