Mit öffentlichen Daten-APIs arbeiten
OpenWeatherMap, Wikipedia und öffentliche Regierungs-APIs – praktische Beispiele zur Datenerfassung.
Mit öffentlichen Daten-APIs arbeiten ist eine kostenlose Learn AI with Python-Lektion auf CoddyKit. Dies ist Lektion 4 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Learn AI with Python-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Learn AI with Python-Kurs umfasst insgesamt 4 Lektionen.
Üben mit öffentlichen APIs
Die beste Methode, Datensammlung zu lernen, besteht darin, echte APIs anzusprechen. In dieser Lektion verwenden Sie drei unkomplizierte APIs:
- JSONPlaceholder — eine gefälschte REST-API zum Üben, kein Schlüssel erforderlich
- OpenWeatherMap — echte Wetterdaten, kostenloser API-Schlüssel
- Wikipedia API — Artikelinhalte und Suche
JSONPlaceholder zum Üben
JSONPlaceholder liefert gefälschte Beiträge, Benutzer und Kommentare ohne Authentifizierung. Es eignet sich hervorragend zum Testen Ihres Anfrage- und Parsing-Codes.
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"])Von der Antwort zum DataFrame-Workflow
Der Standard-Workflow: JSON abrufen und anschließend direkt in einen DataFrame zur Analyse laden.
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 — Einen Schlüssel erhalten
OpenWeatherMap erfordert einen kostenlosen API-Schlüssel, der als Parameter appid übergeben wird. Halten Sie API-Schlüssel aus dem Code heraus – lesen Sie sie aus einer Umgebungsvariablen.
import os
API_KEY = os.environ["OWM_API_KEY"] # set OWM_API_KEY in your shellOpenWeatherMap — Abfrageparameter
Der Endpunkt für aktuelles Wetter akzeptiert q (Stadt), appid (Schlüssel) und units (metric/imperial).
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()Verschachtelte JSON-Felder extrahieren
Echte API-Antworten sind tief verschachtelt. Arbeiten Sie sich mit verketteten Schlüsseln vor und verwenden Sie .get() mit Standardwerten für Felder, die möglicherweise fehlen.
temp = data["main"]["temp"]
humidity = data["main"]["humidity"]
desc = data["weather"][0]["description"]
print(f"{temp} C, {humidity}% humidity, {desc}")Wetterdaten für viele Städte sammeln
Iterieren Sie über die Städte, fassen Sie die benötigten Felder in einer Liste von Dicts zu flachen Strukturen zusammen und erstellen Sie daraus einen DataFrame.
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)Die Wikipedia API
Die Wikipedia API stellt Suche und Artikelinhalte bereit. Sie erwartet ein action und format=json sowie einen beschreibenden User-Agent-Header.
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"]Artikelauszüge abrufen
Verwenden Sie prop=extracts mit exintro=True, um den einleitenden Absatz eines Artikels abzurufen – praktisch zum Erstellen von Textdatensätzen.
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-Dokumentation lesen
Jede API ist anders. Lesen Sie vor dem Programmieren die Dokumentation zu: Basis-URL, erforderlichen Parametern, Authentifizierungsmethode, Antwortstruktur und Ratenbegrenzungen.
Testen Sie eine Anfrage interaktiv, untersuchen Sie resp.json() und bauen Sie dann Ihre Schleife anhand der tatsächlichen Struktur auf.
Ein guter API-Bürger sein
Öffentliche APIs sind gemeinsam genutzte Ressourcen. Gehen Sie respektvoll mit ihnen um:
- Senden Sie einen identifizierenden
User-Agent - Speichern Sie Ergebnisse zwischen, damit Sie nicht dieselben Daten erneut abrufen
- Warten Sie zwischen Anfragen und halten Sie Ratenlimits ein
- Lesen und befolgen Sie die Nutzungsbedingungen der jeweiligen API
Schnelltest: Übungs-API
Sie möchten Ihren Anfrage- und Parsing-Code testen, ohne sich für einen API-Schlüssel registrieren zu müssen.
Rückblick: Öffentliche Daten-APIs
Sie haben das Abrufen von Daten aus echten APIs geübt:
- JSONPlaceholder zum Üben ohne Authentifizierung
- OpenWeatherMap mit den Parametern
q,appidundunitssowie einem Schlüssel aus einer Umgebungsvariablen - Wikipedia API für Suche und Artikelauszüge
- Den Workflow vom Abruf zum DataFrame und das Arbeiten mit verschachteltem JSON
- Bewährte Vorgehensweisen: User-Agent, Caching, Ratenlimits und Nutzungsbedingungen
Damit ist die Datensammlung abgeschlossen. Als Nächstes: reguläre Ausdrücke für Text-KI.
Häufig gestellte Fragen
Ist die Lektion „Mit öffentlichen Daten-APIs arbeiten“ kostenlos?
Ja — der vollständige Text von „Mit öffentlichen Daten-APIs arbeiten“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Learn AI with Python-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Learn AI with Python-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „Mit öffentlichen Daten-APIs arbeiten“?
OpenWeatherMap, Wikipedia und öffentliche Regierungs-APIs – praktische Beispiele zur Datenerfassung. Du übst Learn AI with Python mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um Learn AI with Python zu starten?
Keine Vorkenntnisse erforderlich. Learn AI with Python auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 4 von 4.
Wie lange dauert die Lektion „Mit öffentlichen Daten-APIs arbeiten“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser Learn AI with Python-Lektion Code schreiben und ausführen?
Ja. Jede Learn AI with Python-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- Grundlagen von REST-APIs für die Datenerfassung
- Große Datensätze paginieren und erfassen
- Erfasste Daten effizient speichern
- Mit öffentlichen Daten-APIs arbeiten