trump truth social posts parsen mit python komplette anleitung 2026

Aktualisiert: 17. April 2026 · 9 Min. Lesezeit · Kostenlos

Grundlagen: Wie Truth Social Daten ausliefert

Truth Social basiert technisch auf einer modifizierten Mastodon-Instanz und stellt öffentliche Posts auf mehreren Wegen zur Verfügung. Das Verständnis dieser Mechanismen ist die Voraussetzung für jeden, der Daten automatisiert abrufen möchte. Der einfachste Weg ist der RSS-Feed, der unter https://truthsocial.com/@realDonaldTrump/feed.rss abrufbar ist. Dieser Feed enthält die neuesten Posts im standardisierten XML-Format und lässt sich mit der Python-Bibliothek feedparser in zwei Zeilen Code einlesen. Der Nachteil ist die Aktualisierungsrate: Truth Social aktualisiert den RSS-Feed selten öfter als alle 60 bis 120 Sekunden, was für latenzempfindliche Anwendungen nicht ausreicht.

Die zweite Option ist die Mastodon-kompatible API, die Truth Social unter dem Endpunkt https://truthsocial.com/api/v1/accounts/[account_id]/statuses bereitstellt. Da Truth Social eine Mastodon-Fork ist, funktionieren viele Mastodon-kompatible Clients und Bibliotheken auch mit Truth Social. Die Account-ID von Donald Trump auf Truth Social lautet 107780257626128497. Mit einem einfachen HTTP-GET-Request lassen sich die neuesten Posts als JSON-Array abrufen, aus dem Text, Timestamp, Anhänge und Metadaten strukturiert extrahiert werden können.

Die dritte und komplexeste Methode ist das direkte Web-Scraping der Profilseite. Da Truth Social React/Next.js verwendet und Inhalte clientseitig rendert, benötigt man einen echten Browser oder einen Browser-Emulator. Hier kommt Playwright ins Spiel: Anders als requests, das nur statisches HTML zurückgibt, führt Playwright JavaScript vollständig aus und ermöglicht so den Zugriff auf dynamisch gerenderte Inhalte. Diese Methode ist am zuverlässigsten, aber auch am ressourcenintensivsten.

Methode 1: RSS-Parsing mit feedparser

Für nicht-latenzempfindliche Anwendungen — etwa historische Datenanalysen oder tägliche Zusammenfassungen — ist RSS die schnellste und wartungsärmste Lösung. Installieren Sie die Bibliothek mit pip install feedparser. Der folgende Codeblock zeigt, wie Sie neue Posts erkennen, die noch nicht in Ihrer lokalen Datenbank gespeichert sind:

import feedparser
import time
import sqlite3

FEED_URL = "https://truthsocial.com/@realDonaldTrump/feed.rss"
conn = sqlite3.connect("trump_posts.db")
conn.execute("CREATE TABLE IF NOT EXISTS posts (id TEXT PRIMARY KEY, text TEXT, published TEXT)")

seen_ids = set(row[0] for row in conn.execute("SELECT id FROM posts"))

while True:
    feed = feedparser.parse(FEED_URL)
    for entry in feed.entries:
        post_id = entry.id
        if post_id not in seen_ids:
            conn.execute("INSERT INTO posts VALUES (?, ?, ?)",
                         (post_id, entry.summary, entry.published))
            conn.commit()
            seen_ids.add(post_id)
            print(f"Neuer Post: {entry.summary[:80]}")
    time.sleep(90)  # RSS-Rate: alle 90 Sekunden prüfen

Dieses Script läuft als Daemon und speichert jeden neuen Post in einer SQLite-Datenbank. Der Sleep-Wert von 90 Sekunden orientiert sich an der typischen Feed-Aktualisierungsrate und vermeidet unnötige Serverlast.

Methode 2: Playwright für Echtzeit-Scraping

Für Latenzen unter 15 Sekunden ist Playwright die bevorzugte Methode. Installieren Sie die Bibliothek mit pip install playwright und führen Sie anschließend playwright install chromium aus, um den Chromium-Browser herunterzuladen. Playwright kann im Headless-Modus auf Servern ohne grafische Oberfläche ausgeführt werden — ein wesentlicher Vorteil für VPS-Deployments.

Das Scraping-Script öffnet die Truth-Social-Profilseite, wartet bis die Post-Elemente vollständig geladen sind, extrahiert Text und Timestamps und vergleicht sie mit dem zuletzt gespeicherten Post. Bei einem neuen Eintrag wird sofort eine Benachrichtigung ausgelöst. Das Polling-Intervall sollte nicht kürzer als zehn Sekunden sein, um Rate-Limiting-Maßnahmen von Truth Social zu vermeiden. Für den produktiven Einsatz empfiehlt sich die Verwendung von rotierenden Proxies sowie das Setzen realistischer User-Agent-Header, die einem regulären Desktop-Browser entsprechen.

Methode 3: Mastodon-kompatible API

Die API-Methode bietet den besten Kompromiss aus Zuverlässigkeit und Latenz für die meisten Anwendungsfälle. Der HTTP-Endpunkt gibt ein JSON-Array mit den neuesten Posts zurück, das direkt mit der Python-Standardbibliothek verarbeitet werden kann. Für authentifizierte Anfragen — die eine höhere Rate-Limiting-Schwelle haben — benötigen Sie ein Truth-Social-Konto und einen OAuth-Access-Token.

Vergleich der Python-Parsing-Methoden für Truth Social (2026)
Methode Bibliothek Typische Latenz Implementierungsaufwand Stabilität
RSS-Feed feedparser 60–300 Sek. Sehr gering Hoch
Mastodon-API (unauthentifiziert) requests 10–20 Sek. Gering Mittel
Mastodon-API (authentifiziert) requests + OAuth 5–15 Sek. Mittel Hoch
Playwright (Headless-Browser) playwright 10–25 Sek. Hoch Mittel (Layout-abhängig)
TrumpBot API (Webhook) Kein eigener Code nötig 3–8 Sek. Minimal Sehr hoch

Benachrichtigungen und Datenverarbeitung automatisieren

Das eigentliche Ziel des Parsens ist selten die Datenspeicherung allein — es geht darum, aus rohen Posts handlungsrelevante Signale zu extrahieren und diese rechtzeitig zuzustellen. Die Telegram-Integration ist dabei der effizienteste Kanal. Mit der Bibliothek python-telegram-bot (Version 20+) senden Sie Benachrichtigungen mit wenigen Zeilen asynchronem Code. Erstellen Sie über @BotFather einen eigenen Bot-Token, ermitteln Sie Ihre Chat-ID mit dem Befehl /getUpdates und übergeben Sie beides an die Send-Message-Funktion.

Für die Klassifikation der Posts empfiehlt sich zunächst ein einfaches Keyword-Dictionary: Ein Python-Dictionary mappt Kategorien wie „Zölle", „Krypto", „Fed-Politik" oder „Energiepolitik" auf Listen relevanter Begriffe. Jeder neue Post wird gegen diese Listen geprüft; bei einem Treffer wird die Kategorie im Alert mitgesendet. Fortgeschrittene Implementierungen nutzen die HuggingFace transformers-Bibliothek mit einem vortrainierten Zero-Shot-Klassifikationsmodell, das auch Paraphrasen und indirekte Formulierungen erkennt — ideal für Trumps häufig idiosynkratischen Schreibstil.

Für die Datenpersistenz empfiehlt sich PostgreSQL für produktive Systeme, die mit mehreren gleichzeitigen Prozessen arbeiten. Eine wichtige Praxis: Speichern Sie nicht nur den Post-Text, sondern auch den vollständigen API-Response als JSON-Blob — so können Sie später neue Felder extrahieren, ohne historische Daten neu anzufordern. Für die Kurskorrelationsanalyse sollten Posts mit dem Börsenkurs zum Zeitpunkt der Veröffentlichung sowie zehn Minuten danach verknüpft werden, um den tatsächlichen Marktimpact messbar zu machen.

Häufig gestellte Fragen

Welche Python-Bibliothek eignet sich am besten für das Parsen von Truth Social?

Playwright ist die zuverlässigste Option für dynamisch gerenderte Inhalte, da es einen vollständigen Browser emuliert. Für einfache, latenzunempfindliche Anwendungen reicht die requests-Bibliothek in Kombination mit dem RSS-Feed oder der Mastodon-API vollkommen aus.

Ist das automatisierte Auslesen von Truth Social rechtlich zulässig?

Das Lesen öffentlich zugänglicher Posts ist in den meisten Rechtssystemen erlaubt. Die Nutzungsbedingungen von Truth Social untersagen automatisiertes Scraping jedoch ausdrücklich. Das Risiko einer IP-Sperre oder Kontosperrung ist real. Für kommerzielle Zwecke empfiehlt sich die Nutzung einer lizenzierten Datenquelle oder eines Dienstleisters wie TrumpBot.

Welches Polling-Intervall ist empfehlenswert?

Ein Intervall von 10–15 Sekunden bietet einen guten Kompromiss zwischen Aktualität und Serverbelastung. Kürzere Intervalle erhöhen das Risiko einer Rate-Limiting-Sperre erheblich. Für den RSS-Feed sind 90 Sekunden angemessen, da der Feed selbst seltener aktualisiert wird.

Wie vermeide ich IP-Sperren beim Scraping?

Nutzen Sie rotierende Residential-Proxies (nicht Datacenter-IPs), setzen Sie realistische User-Agent-Header und halten Sie ein moderates Polling-Intervall von mindestens 10 Sekunden ein. Das Hinzufügen zufälliger Pausen zwischen Anfragen reduziert das Muster-Erkennungsrisiko zusätzlich.

Wie speichere ich geparste Posts dauerhaft und effizient?

SQLite ist für kleine bis mittlere Projekte ausreichend. Für produktive Systeme mit mehreren gleichzeitigen Prozessen empfiehlt sich PostgreSQL. Speichern Sie mindestens Post-ID, Timestamp, vollständigen Text, Plattform und erkannte Keywords. Der vollständige API-Response als JSON-Blob ermöglicht spätere Feldextraktionen.

Kann Playwright auf einem VPS ohne Desktop ausgeführt werden?

Ja. Playwright unterstützt den Headless-Modus vollständig — kein Bildschirm oder Desktop-Environment ist erforderlich. Starten Sie den Browser mit headless=True in der Python-Konfiguration. Chromium läuft problemlos auf Standard-Ubuntu-VPS-Instanzen.

Wie erkenne ich automatisch, ob ein Post handelsrelevant ist?

Beginnen Sie mit einer Keyword-Liste (tariff, China, Fed, trade war, gold usw.), die die meisten relevanten Posts erfasst. Für höhere Präzision nutzen Sie ein Zero-Shot-Klassifikationsmodell aus der HuggingFace-Bibliothek, das auch Paraphrasen erkennt. Eine Kombination beider Methoden erreicht eine Präzision von über 90 %.

Welche Benachrichtigungskanäle kann ich aus Python heraus nutzen?

Telegram (python-telegram-bot), Discord (discord.py), E-Mail (smtplib/sendgrid) und HTTP-Webhooks sind die gängigsten Optionen. Telegram wird für Trader bevorzugt, da Push-Benachrichtigungen sofort auf dem Sperrbildschirm erscheinen und die Bot-API einfach und gut dokumentiert ist.