Herkese Açık Veri API'leriyle Çalışma
OpenWeatherMap, Wikipedia ve kamu kurumlarının API'leriyle uygulamalı veri toplama örnekleri.
Herkese Açık Veri API'leriyle Çalışma, CoddyKit'te ücretsiz bir Learn AI with Python dersidir. Bu, 4 dersinin 4. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Learn AI with Python öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Learn AI with Python kursu toplamda 4 dersten oluşur.
Herkese Açık API'lerle Pratik Yapma
Veri toplamayı öğrenmenin en iyi yolu gerçek API'lere istek göndermektir. Bu derste kullanımı kolay üç API ele alınır:
- JSONPlaceholder — pratik yapmak için sahte bir REST API'si; anahtar gerekmez
- OpenWeatherMap — gerçek hava durumu verileri; ücretsiz API anahtarı gerekir
- Wikipedia API — makale içeriği ve arama
Pratik için JSONPlaceholder
JSONPlaceholder, kimlik doğrulaması olmadan sahte gönderiler, kullanıcılar ve yorumlar sunar. İstek gönderme ve ayrıştırma kodunuzu sınamak için mükemmeldir.
import requests
resp = requests.get("https://jsonplaceholder.typicode.com/posts", timeout=10)
resp.raise_for_status()
posts = resp.json()
print(len(posts), "posts")
print(posts[0]["title"])Yanıtı DataFrame İş Akışına Dönüştürme
Standart iş akışı şöyledir: JSON verilerini alın, ardından analiz için doğrudan bir DataFrame'e yükleyin.
import pandas as pd
posts = requests.get("https://jsonplaceholder.typicode.com/posts", timeout=10).json()
df = pd.DataFrame(posts)
print(df.head())
print(df["userId"].value_counts())OpenWeatherMap — Anahtar Alma
OpenWeatherMap, appid parametresiyle gönderilen ücretsiz bir API anahtarı gerektirir. Anahtarları kodun içine yazmayın; bir ortam değişkeninden okuyun.
import os
API_KEY = os.environ["OWM_API_KEY"] # set OWM_API_KEY in your shellOpenWeatherMap — Sorgu Parametreleri
Mevcut hava durumu uç noktası q (şehir), appid (anahtar) ve units (metrik/İngiliz ölçü sistemi) parametrelerini alır.
import requests, os
params = {
"q": "Istanbul",
"appid": os.environ["OWM_API_KEY"],
"units": "metric",
}
resp = requests.get("https://api.openweathermap.org/data/2.5/weather", params=params, timeout=10)
resp.raise_for_status()
data = resp.json()İç İçe JSON Alanlarını Çıkarma
Gerçek API yanıtları derin biçimde iç içe olabilir. Birbirini izleyen anahtarlarla istediğiniz alana ilerleyin; eksik olabilecek alanlar için varsayılan değerlerle birlikte .get() kullanın.
temp = data["main"]["temp"]
humidity = data["main"]["humidity"]
desc = data["weather"][0]["description"]
print(f"{temp} C, {humidity}% humidity, {desc}")Birçok Şehir için Hava Durumu Verisi Toplama
Şehirler üzerinde döngü kurun, ilgilendiğiniz alanları sözlüklerden oluşan bir listede düzleştirin ve ardından bir DataFrame oluşturun.
cities = ["Istanbul", "London", "Tokyo"]
rows = []
for c in cities:
p = {"q": c, "appid": os.environ["OWM_API_KEY"], "units": "metric"}
d = requests.get("https://api.openweathermap.org/data/2.5/weather", params=p, timeout=10).json()
rows.append({"city": c, "temp": d["main"]["temp"], "desc": d["weather"][0]["description"]})
import pandas as pd
df = pd.DataFrame(rows)Wikipedia API
Wikipedia API, arama ve makale içeriği sunar. Bu API bir action ve format=json parametrelerinin yanı sıra açıklayıcı bir User-Agent üst bilgisi bekler.
params = {
"action": "query",
"list": "search",
"srsearch": "machine learning",
"format": "json",
}
headers = {"User-Agent": "data-collector/1.0 (you@example.com)"}
resp = requests.get("https://en.wikipedia.org/w/api.php", params=params, headers=headers, timeout=10)
results = resp.json()["query"]["search"]Makale Özetlerini Alma
Bir makalenin giriş paragrafını almak için prop=extracts ile exintro=True kullanın — metin veri kümeleri oluştururken oldukça kullanışlıdır.
params = {
"action": "query",
"prop": "extracts",
"exintro": True,
"explaintext": True,
"titles": "Artificial intelligence",
"format": "json",
}
resp = requests.get("https://en.wikipedia.org/w/api.php", params=params, timeout=10)
pages = resp.json()["query"]["pages"]
for pid, page in pages.items():
print(page["extract"][:300])API Belgelerini Okuma
Her API farklıdır. Kod yazmaya başlamadan önce şunları belgelerden öğrenin: temel URL, zorunlu parametreler, kimlik doğrulama yöntemi, yanıtın yapısı ve hız sınırları.
Bir isteği etkileşimli olarak sınayın, resp.json() içeriğini inceleyin ve ardından döngünüzü gerçek yapıya göre kurun.
API'leri Sorumlu Kullanma
Herkese açık API'ler paylaşılan kaynaklardır. Onlara saygı gösterin:
- Kimliğinizi belirten bir
User-Agentgönderin - Aynı verileri yeniden istememek için sonuçları önbelleğe alın
- İstekler arasında bekleyin ve hız sınırlarına uyun
- Her API'nin kullanım koşullarını okuyup bunlara uyun
Hızlı Kontrol: Pratik API'si
Bir API anahtarı için kaydolmadan istek gönderme ve ayrıştırma kodunuzu sınamak istiyorsunuz.
Özet: Herkese Açık Veri API'leri
Gerçek API'lerden veri toplamayı uyguladınız:
- Kimlik doğrulamasız pratik için JSONPlaceholder
q,appidveunitsparametreleriyle, anahtarı ortamdan alınan OpenWeatherMap- Arama ve makale özetleri için Wikipedia API
- Veri alma işleminden DataFrame iş akışına geçiş ve iç içe JSON verilerinde istenen alana ilerleme
- İyi kullanıcı alışkanlıkları: istemci tanımlayıcısı, önbelleğe alma, hız sınırları ve kullanım koşulları
Veri toplama bölümü tamamlandı. Sırada metin yapay zekâsı için düzenli ifadeler var.
Sıkça Sorulan Sorular
“Herkese Açık Veri API'leriyle Çalışma” dersi ücretsiz mi?
Evet — “Herkese Açık Veri API'leriyle Çalışma” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Learn AI with Python kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Learn AI with Python kursu toplamda 4 dersten oluşur.
“Herkese Açık Veri API'leriyle Çalışma” dersinde ne öğreneceğim?
OpenWeatherMap, Wikipedia ve kamu kurumlarının API'leriyle uygulamalı veri toplama örnekleri. Learn AI with Python ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Learn AI with Python öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Learn AI with Python, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 4. dersidir.
“Herkese Açık Veri API'leriyle Çalışma” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Learn AI with Python dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Learn AI with Python dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- Veri Toplama İçin REST API Temelleri
- Sayfalandırma ve Büyük Veri Kümelerini Toplama
- Toplanan Verileri Verimli Biçimde Depolama
- Herkese Açık Veri API'leriyle Çalışma