Frage, Analyseeinheit und Einschlusskriterien festlegen
Bevor Sie mit der Datensammlung beginnen, sollten Sie Ihre Forschungsfrage so klar wie möglich formulieren. Beispielsweise können Sie untersuchen, wie das Wort sampling in empfangenen Datensätzen aus AskStatistics verwendet wird. Das beschreibt eine Textsuche in einem unabhängigen historischen Archiv, keine Zufallsstichprobe von Reddit-Nutzern. Legen Sie fest, ob Beiträge, Kommentare oder beide untersucht werden und welche Einschränkungen die fertige Tabelle begleiten müssen.
Notieren Sie, warum Sie eine Community und bestimmte Begriffe gewählt haben. Geänderte Kriterien verändern die Auswahl; min_score ergänzt eine Bewertungsbedingung, bestätigt jedoch weder Relevanz noch Zuverlässigkeit oder statistische Signifikanz. Im Archiv können Daten und Kontext fehlen. Eine präzise Frage macht Entscheidungen nachvollziehbar, garantiert aber weder Abdeckung noch Verzerrungsfreiheit oder die Eignung für beliebige Rückschlüsse auf eine gesamte Community.
Wählen Sie /v1/search für beide Typen, /v1/posts nur für Beiträge und /v1/comments nur für Kommentare. kind verwendet die Literale post und comment. Für eine bekannte Kennung sucht /v1/item?id=... einen einzelnen Datensatz, der fehlen kann. /v1/subreddits akzeptiert prefix und limit für Namen mit einem bestimmten Anfang, entdeckt aber keine automatisch thematisch verwandten Communities und zählt keinen vollständigen Katalog auf. Die Dokumentation beschreibt die zulässigen Parameter je Route.
Die Anfrage erstellen und empfangene Daten aufbewahren
Beginnen Sie mit https://api.getredditdata.com/v1/search?q=sampling&subreddit=AskStatistics&limit=3, dem Startseitenbeispiel. q sucht sampling, subreddit legt AskStatistics fest und limit fordert bis zu drei Datensätze an. Verwenden Sie serverseitig GET mit X-API-Key: <key> oder Authorization: Bearer <key>. Die Seite API-Schlüssel erhalten erläutert Registrierung und Kontobereich. Dessen Secure-HttpOnly-Cookie ist von der Authentifizierung Ihres Datenskripts getrennt.
Sie können from und to als YYYY-MM-DD-Daten in UTC ergänzen, um created_utc zu filtern. Der Endtag wird vollständig eingeschlossen; es geht nicht um den Zeitpunkt der Aufnahme ins Archiv. Speichern Sie Parameter und Antwort, bevor Sie Felder in lokale Zeilen umwandeln. Ein anderer Analyst arbeitet mit genau Ihrer Kopie, wenn Sie diese weitergeben. Eine erneute entfernte Abfrage garantiert dagegen weder dieselben Datensätze noch Felder oder Reihenfolge.
Bestimmen Sie die für Ihre Analyse erforderlichen Spalten und prüfen Sie jedes Feld auf Vorhandensein. Trennen Sie Dokumentinformationen, Abfrageparameter und eigene Anmerkungen. Flache Datensätze mit vorhandenen parent_id oder link_id können lokal zugeordnet werden, ohne vollständigen Gesprächsverlauf oder Abfragefilter für diese Felder. Eine Zeile ohne Text darf kein erfundenes Zitat werden; ein nicht aufgelöster Verweis belegt nicht, dass die referenzierte Nachricht abgerufen wurde.
Gesamtwerte, Reihenfolge und Budget vor einer Ausweitung prüfen
Bei Inhaltssuchen reichen limit und page von 1 bis 100, mit einer Seite je Anfrage. Lesen Sie total mit relation: eq bezeichnet einen exakten Abfragegesamtwert, gte eine Untergrenze und unknown einen nicht verlässlichen Gesamtwert, möglicherweise null. Keiner beweist, dass alle Treffer heruntergeladen wurden oder das Archiv sämtliche Geschichte enthält. Bewahren Sie erreichte Grenzen mit der Tabelle auf, statt eine vollständige Extraktion zu behaupten.
_doc bedeutet weder zeitliche Reihenfolge noch Relevanz, Bewertung oder Zufälligkeit. Eine lokale Sortierung verändert die Darstellung, nicht die entfernte Auswahl. Aufgeteilte Zeiträume und lokale Dublettenbereinigung organisieren die Arbeit, belegen aber keine Vollständigkeit oder Eindeutigkeit. Bei HTTP 400 korrigieren Sie Parameter, bei 401 den Schlüssel, bei 402 prüfen Sie Guthaben und bei 429 begrenzen und verzögern Sie Versuche. /v1/status ist öffentlich und kostenlos, bestätigt jedoch nur HTTP und statische Dienstbeschreibung, nicht Suchsystemzustand oder Guthaben.
Jeder erfolgreiche Abruf kostet einen Credit, auch leer oder wiederholt. Ungültige Anfragen buchen nichts ab; Fehler des vorgeschalteten Dienstes erstatten die Reservierung. Eine verlorene Clientantwort kann einen berechneten Erfolg verbergen, und eine erfolgreiche Wiederholung kostet erneut. Ein lokaler Bereinigungs- oder Speicherfehler hebt die entfernten Kosten nicht auf. Lesen Sie vor einer Ausweitung die Preise: $1 für 1000 Erfolge, mindestens $50 je bezahlter Aufladung und 100 Testcredits abhängig von der Missbrauchsprävention.