Reddit Extract

Welche Felder kann Ihre Zieltabelle wirklich nutzen?

Prüfen Sie eine kleine PostgreSQL-Antwort mit Reddit Extract. Trennen Sie Titel und Text, erhalten Sie fehlende Werte und definieren Sie lokale Zuordnungsregeln.

API-Schlüssel erhalten

Beispielanfrage

cURL

curl --fail-with-body -H "Authorization: Bearer YOUR_API_KEY" "https://api.redditextract.com/v1/search?q=index&subreddit=PostgreSQL&limit=3"

Synthetischer Antwortauszug

Nur zur Veranschaulichung — dies sind keine echten Archiveinträge.

{
  "data": [
    {
      "kind": "post",
      "subreddit": "PostgreSQL",
      "title": "Demo: checking an index",
      "text": "Fictional example for mapping available fields."
    }
  ]
}

Nur data wird gezeigt. Die zurückgegebenen Felder können variieren; dies ist keine vollständige Antwort.

Eine PostgreSQL-Anfrage als Modellprobe

Ihre PostgreSQL-Tabelle erwartet vielleicht einen Textkörper, während ein Datensatz nur einen brauchbaren Titel liefert. Klären Sie diesen Fall vor einem größeren Abruf. Die kleine Suche nach index hilft bei der Entscheidung, was übernommen wird, was fehlt und was zur Prüfung zurückgestellt werden soll.

Reddit Extract erschließt ein unabhängiges historisches Reddit-Archiv über eine API. Entwickler können verfügbare Datensätze abrufen und deren Felder in ein eigenes Datenmodell übertragen. Der Dienst ist nicht offiziell mit Reddit verbunden und liefert keine Echtzeitdaten. Auch eine vollständige Abdeckung einer Community oder das Vorhandensein jedes erwarteten Feldes wird nicht zugesichert. Ihr Modell sollte deshalb mit fehlenden Angaben umgehen können.

Das Beispiel lautet https://api.redditextract.com/v1/search?q=index&subreddit=PostgreSQL&limit=3. q sucht nach index, subreddit grenzt auf PostgreSQL ein und limit fordert höchstens drei Datensätze an. Dieser kleine Abruf dient zur Prüfung der verfügbaren Felder. Er ist weder eine Zufallsstichprobe noch ein repräsentativer Überblick über die Community. Auch eine erfolgreiche Antwort ohne Treffer ist möglich und sollte als solche behandelt werden.

Ein Titel ist nicht automatisch der Textkörper

Betrachten Sie vorhandene title- und text-Werte zunächst getrennt. Führen Sie sie später in einer Spalte zusammen, kennzeichnen Sie das Ergebnis als abgeleitet und halten Sie das Quellfeld fest. Ein Treffer für index im Titel belegt kein Vorkommen im Textkörper. Ein Titel als Ersatz ist eine Entscheidung Ihrer Anwendung und darf nicht als ursprünglicher Textkörper ausgegeben werden.

Fehlende Werte brauchen eine bewusste Regel

Unterscheiden Sie zwischen einem fehlenden Feld, null und einer leeren Zeichenfolge. Diese Zustände lassen sich im Zielmodell zusammenführen, wenn das fachlich gewollt ist; die Entscheidung sollte jedoch nachvollziehbar bleiben. Prüfen Sie den Datentyp vor einer Umwandlung. Ein vorhandener score mit dem Zahlenwert 0 ist etwas anderes als ein nicht gelieferter Wert.

Eine lesbare Datumsangabe können Sie lokal aus einem geeigneten created_utc-Wert ableiten. Bewahren Sie bei Bedarf den Ausgangswert neben der Umwandlung auf und kennzeichnen Sie Fehler. Eine gespeicherte Antwort eignet sich dazu, mehrere Versionen Ihrer Regeln zu vergleichen. Daraus folgt keine Zusicherung, dass spätere API-Abfragen denselben Inhalt liefern. Das eigene Zielschema ist weder ein Schemaexport noch eine Zertifizierung durch den Server.

Verweise erhalten, ohne ein Gespräch zu erfinden

Die Antwort besteht aus flachen Datensätzen. Falls parent_id und link_id vorhanden sind, können Sie Beziehungen lokal gruppieren; vollständige Elternketten oder Gespräche sind nicht garantiert. Die Reihenfolge folgt _doc und ist weder chronologisch noch nach Relevanz oder Punktzahl sortiert. Weitere Seiten erweitern Ihren Abruf innerhalb der Grenzen, beweisen aber nicht, dass Sie sämtliche passenden Archivdaten besitzen.

Mit einem brauchbaren Extraktionsvertrag abschließen

Jeder erfolgreiche Abruf kostet einen Credit, auch eine leere Antwort oder ein später lokal verworfener Datensatzstapel. Der Preis beträgt $1 für 1000 erfolgreiche Abrufe; eine Aufladung von $50 kauft 50000 bezahlte Credits. Lesen Sie die Dokumentation für die erlaubten Filter und den Leitfaden für die Feldzuordnung. Planen Sie erst danach größere Abrufserien, ohne aus einem kleinen Beispiel eine vollständige Datenabdeckung abzuleiten.

Das Ergebnis der Prüfung ist ein kurzer Vertrag: Quelle jeder Spalte, zulässige Zustände und Umgang mit Ablehnungen. Der Leitfaden zeigt die Prüfung dieser Regeln an einer gespeicherten Antwort. Die Dokumentation beschreibt die Abrufparameter; auf der Schlüsselseite bereiten Sie den Zugriff für die Anfrage aus Ihrer Serveranwendung vor. Inhaltssuchen sind auf 100 Datensätze pro Anfrage und 100 Seiten pro Abfrage begrenzt; diese Grenzen garantieren keine vollständige Abdeckung.