Einen Fotokatalog über eine API sammeln

Entwickle einen wiederverwendbaren Python-HTTP-Client, der alle Katalogseiten abruft, Fotodatensätze filtert, gültige CSV exportiert und bei Fehlern eine frühere vollständige Datei erhält.

ProjektPython

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

Einen Fotokatalog über eine API sammeln ist ein praktisches Python-Projekt für Lernende, die bereits kleine Programme schreiben können. Hilf der Redaktion einer gemeinschaftlichen Fotobibliothek, aus der Vorschau der ersten Seite einen vollständigen, gefilterten CSV-Katalog zu erstellen. Du entwickelst einen wiederverwendbaren Client für eine vorbereitete lokale HTTP-API und schützt einen früheren vollständigen Export, wenn eine spätere Anfrage fehlschlägt.

Zwei Guided Labs führen dich vom Lesen einer Antwort über das Verfolgen aller Cursor und das Entfernen doppelter IDs bis zur Veröffentlichung eines vollständigen Ergebnisses. In einer eigenständigen Challenge wendest du dieselben Methoden auf eine andere Sammlung mit anderer Seitengröße und Auswahl an. Jede Einheit beginnt mit einer eigenen vorbereiteten Umgebung. Plane ungefähr 110–150 Minuten ein; das ist eine Schätzung des Autors und keine mit Anfängern gemessene Bearbeitungszeit.

Was du lernen wirst

Nach Abschluss des Kurses kannst du:

  • JSON-Datensätze über HTTP anfordern, Abfrageparameter kodieren, ein Anfrage-Timeout verwenden und erfolgreiche Antworten von HTTP-Fehlern unterscheiden;
  • Paginierungs-Cursor als undurchsichtige Werte behandeln und bis next_cursor gleich null weiterarbeiten, auch nach leeren oder kurzen Seiten;
  • pro stabiler Foto-ID genau einen Datensatz behalten und unterschiedliche Fotos mit gleichem Titel erhalten;
  • Kategorie und Ausrichtung exakt und unter Beachtung der Groß- und Kleinschreibung filtern und alle fünf Felder als gültige UTF-8-CSV schreiben, bei fehlenden Treffern nur die Kopfzeile;
  • eine fehlgeschlagene Anfrage oder einen Zyklus wiederholter Cursor mit einem von null verschiedenen Exit-Code ablehnen und die vorherige vollständige Ausgabe erhalten;
  • einen erfolgreichen Export mit einer eindeutigen temporären Datei im Ausgabeverzeichnis veröffentlichen, ohne unbeteiligte Nachbardateien zu überschreiben;
  • dasselbe Programm mit einer anderen vorgegebenen Sammlungs-URL, Seitengröße, Filtern und einem anderen Ausgabepfad wiederverwenden.

Für wen dieser Kurs geeignet ist

Der Kurs richtet sich an Python-Lernende, die bekannte Schleifen und Collections in einen nützlichen API-Client und eine wiederverwendbare Datendatei umsetzen möchten.

Voraussetzungen: Python-Funktionen, Collections, Schleifen, Ausnahmen, einfache Dateiausgabe und grundlegende Terminalbedienung. Das Projekt zur Einkaufsplanung für ein Picknick oder gleichwertige Erfahrung ist eine passende Vorbereitung. Die Guided Labs erklären HTTP, die JSON-Antwortstruktur, URL-Kodierung, Cursor, CSV-Anführungszeichen und das Ersetzen mit einer temporären Datei.

Lernumgebung: LabEx stellt einen Python-Editor und ein Terminal im Browser sowie eine eigens entwickelte lokale Demonstrations-API bereit. Der Katalog verwendet synthetische Illustrationen und fiktive Urheberangaben. Quelldaten, Dienstcode und Medien bleiben unverändert; nur die ausdrücklich dokumentierten Demonstrationsregler für Fehler und Cursorzyklen dürfen zum Üben von Fehlern und Wiederherstellung verwendet werden. Beschriftungen und Ausgaben der Laufzeitumgebung bleiben auf Englisch.

Häufig gestellte Fragen

Brauche ich ein externes Konto oder einen API-Schlüssel?

Nein. Die Anfragen gehen an den vorbereiteten lokalen Demonstrationsdienst. Du kontaktierst keinen gehosteten Fotoanbieter, sammelst keine Daten von externen Websites und implementierst keine Authentifizierung.

Erstelle ich eine Website oder lade ich Fotos herunter?

Nein. Du schreibst den Python-Client und exportierst Foto-Metadaten als CSV. Die bereitgestellten Illustrationen machen die Datensätze erkennbar; Bilddownloads, Zeichnen und Webentwicklung gehören nicht zu diesem Projekt.

Was geschieht, wenn die Sammlung auf halbem Weg abbricht?

Der Client muss mit einem Fehler enden und einen vorhandenen vollständigen Export erhalten. Nach der Wiederherstellung des Demonstrationsdienstes startest du einen neuen endlichen Durchlauf. Automatische Wiederholungen und das Fortsetzen unterbrochener Durchläufe gehören nicht zum Kurs. Lokales Dateiersetzen verspricht weder Beständigkeit bei Stromausfall noch die Koordination gleichzeitiger Schreibzugriffe.

Wie erweitert die Challenge die Guided Labs?

Du sammelst eine andere Sammlung mit anderen Parametern und passenden Datensätzen auf der letzten Seite. Werkzeuge, Paginierungsregeln, Filterung, CSV-Format und Fehlerbehandlung wurden zuvor bereits erklärt.

Lehrer

labby
Labby
Labby is the LabEx teacher.

Für Sie empfohlen

no data