Die meisten Scraping-Tools, die dieses Jahr im Rampenlicht stehen, wollen einen Browser steuern. trafilatura nicht. Die reine Python-Bibliothek liest statisches HTML, erkennt die eigentlichen Inhaltsblöcke und wirft den Rest weg. Genau diese schmale Aufgabe — die Extraktion des Hauptinhalts — ist der Kern des Tools, und das schon seit einer Zeit, als von „LLM-ready Markdown“ noch kaum jemand sprach.
Ich habe Version 2.1.0 unter Python 3.14 mit einem festen Set an Fixtures getestet, und der Artikeltest ist der, der mir besonders hängen geblieben ist. Ich habe einen echten Textkörper mit typischen Seitenelementen umrahmt — Login-Hinweis, „Subscribe“-Aufforderung, Navigationslinks, Copyright-Fußzeile — und trafilatura lieferte Titel, alle drei Textabsätze, Autor und Datum zurück, ohne dass eines dieser Boilerplate-Elemente im Ergebnis auftauchte. Kein Browser, keine Site-spezifischen Regeln, ein Funktionsaufruf. Der Haken, und den gibt es, zeigt sich in dem Moment, in dem man etwas Strukturiertes verlangt. Darauf komme ich unten noch zurück (das ist eine bewusste Designentscheidung, kein Fehler).
Was trafilatura ist — und welche Annahme man lieber fallenlassen sollte
Die offizielle Kurzbeschreibung nennt es ein „Python- und Kommandozeilen-Tool zum Sammeln von Text und Metadaten im Web: Crawling, Scraping, Extraktion“ mit Ausgabe als CSV, JSON, HTML, Markdown, TXT oder XML. Das ist breit gefasst und unterschlägt den Teil, der das Tool tatsächlich auszeichnet. Der eigentliche Wert liegt nicht in den Crawl-Hilfen oder den sechs Ausgabeformaten. Er liegt in der Inhaltsextraktion: HTML rein, Haupttext raus, Seitenelemente entfernt.
Das mentale Modell erklärt sowohl die Stärke als auch die Grenze. Die meisten Scraper, die man auf eine Seite loslässt, arbeiten selektorbasiert. Man sagt ihnen: „Hol das Element mit der Klasse product-price“, und sie geben zurück, was genau dort steht. trafilatura funktioniert andersherum. Es liest das komplette Dokument und entscheidet anhand von Inhaltsheuristiken, welche Blöcke zum Artikel gehören und welche nur Beiwerk sind — statt sich auf einen selbst geschriebenen Selektor zu verlassen. Deshalb braucht es keinerlei Konfiguration pro Website, um eine unbekannte Seite aufzuräumen. Und genau deshalb kann es auch keinen strukturierten Katalog zurückgeben: Es gibt kein Schema, keine Feldzuordnung, nur eine Einschätzung, was als Inhalt zählt. Es ist ein Extraktor, kein Parser, den man gezielt anspricht.
Es ist außerdem wirklich schlank. Reines Python, kein Headless Browser, kein Chromium-Binary im Cache, keine Playwright-Installation, die einem beim ersten Start in die Quere kommt. Das klingt nach einer Kleinigkeit — bis man Extraktion über Tausende URLs laufen lässt und jedes Megabyte an Abhängigkeiten und jeder Subprozess Aufwand im Betrieb bedeutet. Das hier ist ein Projekt mit ungefähr 6,26k Sternen vom 2026-07-09 (adbar/trafilatura) — also ein deutlich kleineres Repo als die Browser- und Crawler-Frameworks, in deren Nähe es oft einsortiert wird. Das ist eher ein Hinweis auf den Umfang als ein Urteil über die Qualität.
Das Setup ist der kurze Abschnitt — und genau das ist das Lob
Die Installation ist ein Einzeiler, und es gibt nichts, wovor man warnen müsste. Schon das ist erwähnenswert. pip install trafilatura zog in einer frischen virtuellen Umgebung unter Python 3.14 einen einzigen, sauberen Paketbaum nach — kein Browser-Download, kein Post-Install-Schritt, keine transitive Abhängigkeitswand. Ich habe genug solcher Bibliotheken gesehen, um schon auf den zweiten Schuh zu warten: das 150-MB-Browserpaket, das erst beim ersten Ausführen auftaucht, die native Erweiterung, die nicht kompiliert, die zusätzliche [fetchers]-Gruppe, von der niemand gesprochen hat. Bei trafilatura fiel dieser Schuh nie.
Die Version, die pip mir gab (2.1.0), entspricht der aktuellen Veröffentlichung vom 2026-06-07, also tragen die Zahlen unten kein „du hast etwas Veraltetes getestet“-Sternchen. Das ist in dieser Kategorie nicht selbstverständlich — bei vielen schwereren Tools, die ich mir angesehen habe, lag beim Test schon eine Major-Version dazwischen. Hier sind Test- und Release-Build identisch.
Praxistest: Was der Extraktor tatsächlich zurückgegeben hat
Ich habe trafilatura gegen Fixtures laufen lassen, die sowohl seine Stärke als auch seine Grenze sichtbar machen. Der Artikeltest war derjenige, der meine Einschätzung entschieden hat.

Ich nahm ein lokales Artikel-Fixture und vergrub den echten Inhalt im Lärm — Login-Hinweis, „Subscribe“-Call-to-Action, Navigationslinks und Copyright-Fußzeile, also genau das Boilerplate, das naive Scraper zusammen mit dem eigentlichen Text einsammeln. trafilatura gab den Titel plus alle drei von drei Absätzen zurück, und jeder einzelne Boilerplate-Hinweis — Login, Subscribe, Copyright — fehlte im Ergebnis. Zusätzlich zog das Tool Autor und Datum korrekt aus den Metadaten der Seite. Das Ergebnis kam mit einem einzigen Aufruf als .txt, .md und .json heraus.

Dieses Mehrfachformat ist wichtig. Eine Extraktion lieferte gleichzeitig Klartext, Markdown und JSON. Der Markdown-Pfad ist genau der Schritt zu „LLM-ready Text“, den gerade alle suchen: schmutzige Seite rein, sauberer Text mit erhaltener Struktur raus, an ein Modell weiterreichen. trafilatura schafft das ganz ohne Browser im Prozess — also auf einem ruhigeren Weg zum gleichen Output, für den browsergetriebene Tools einen kompletten Rendering-Stack hochfahren.
Dann der öffentliche Check. Ich habe es auf eine Live-Produktseite gesetzt — eine Books-to-Scrape-Produktseite — und es lieferte 1.324 Zeichen sauberen Text plus Markdown: den Beschreibungsblock, gut lesbar und ohne Seitengerüst drumherum. Und als ich ihm eine Seite mit HTTP 500 gab, gab fetch_url None zurück, statt eine Ausnahme zu werfen. Kein Absturz, kein Stacktrace zum Einfangen. Genau dieses langweilig-korrekte Fehlverhalten will man bei etwas, das unbeaufsichtigt nach Zeitplan läuft.
Die Einschränkungen
Drei Stück, und jede davon begrenzt den Einsatzbereich.

Erstens und am wichtigsten: trafilatura ist ein Content-Extraktor, kein strukturierter Scraper. Ich habe es auf ein Katalog-Fixture mit 12 Produkten losgelassen. Es gab alle 12 Produktnamen zurück — als Text — und exakt 0 strukturierte Zeilen (478 Zeichen Fließtext). Namen und Preise sind im Ergebnis vorhanden, aber eben nicht als Felder. Wenn Sie [{name, price, rating}, …] brauchen, ist das das falsche Werkzeug, und keine Konfigurationsoption ändert daran etwas. Das ist eine Designentscheidung über den Zweck des Tools, kein Bug.

Zweitens: Es rendert kein JavaScript. Es verarbeitet statisches HTML. Wenn Sie es auf eine clientseitig gerenderte Single-Page-App ansetzen, bekommen Sie das, was der Server vor dem JS-Lauf ausgeliefert hat — und das ist oft wenig brauchbar. Kombinieren Sie es mit einem Renderer, wenn Ihre Zielseiten stark auf JavaScript setzen. trafilatura übernimmt diesen Teil nicht und behauptet das auch nicht.
Drittens ein Vorbehalt zu meinen eigenen Belegen. Der öffentliche Extraktionstest oben beruhte auf einem Produktbeschreibungsblock und nicht auf einem echten Nachrichtenartikel, weil die öffentliche Sandbox, die ich verwendet habe (die toscrape-Familie), nur Kataloge und keine News-Seiten enthält. Das saubere Bereinigungsresultat stammt aus einem kontrollierten lokalen Fixture. Ich vertraue diesem Ergebnis — die Entfernung des Boilerplates ist eindeutig und reproduzierbar — aber eine Produktseite ist kein Beweis für die Qualität bei journalistischen Artikeln, also behandle ich sie auch nicht so.
Um diese Lücke teilweise zu schließen, habe ich eine separate, bewusst nicht bewertete Demonstration auf zwei echten Artikelseiten durchgeführt und dabei gespeicherte Fixtures genutzt, damit der Lauf deterministisch bleibt. Beim Wikipedia-Artikel „Web scraping“ reduzierte trafilatura die Seite von 230.049 Bytes rohem HTML auf 26.673 Bytes extrahierten Inhalts (ein Body-zu-Roh-Verhältnis von 0,116), und alle vier geprüften Seitengerüst-Marker — „Jump to content“, „Privacy policy“, „Powered by MediaWiki“, „This page was last edited“ — verschwanden. Bei einem archivierten Wikinews-Artikel ging es von 79.716 Bytes auf 2.200 (Verhältnis 0,028), und alle fünf geprüften Marker wurden entfernt. Titel, Datum und Hostname waren bei beiden Seiten gefüllt; Autor und Sitename blieben bei beiden null, und ich nenne diese Lücken offen, statt sie zu verstecken. Zwei Dinge sollten klar auseinandergehalten werden: Dieses Byte-Verhältnis misst, wie viel Markup und Seitengerüst entfernt wurde, nicht die Extraktionsgenauigkeit, und beide Seiten stammen aus derselben MediaWiki-Familie. Das ist also eine Demonstration auf echten Artikeln, aber kein repräsentativer Korpus.
Zur eigentlichen Genauigkeit verweise ich lieber auf externe Evidenz, statt so zu tun, als hätte ich sie selbst sauber gemessen. trafilatura veröffentlicht eine eigene Evaluation-Seite und erreicht im ScrapingHub article-extraction benchmark den höchsten Open-Source-F1-Wert (etwa 0,945) gegenüber Vergleichern wie readability-lxml (~0,887). Zwei ehrliche Einschränkungen zu dieser Zahl: Sie stammt aus diesem Benchmark und nicht aus meinem Test, und der genannte Wert von ~0,945 bezieht sich in der Quelle auf eine ältere 0.5.1-Version, nicht auf die von mir getestete 2.1.0. Verstehen Sie das also als externe Benchmark-Evidenz dafür, warum das Tool bei der Extraktion einen guten Ruf hat — nicht als Messwert aus diesem Review.
Vor- und Nachteile
Vorteile:
- Sauberste Artikel-Extraktion in meinem Set — Titel plus alle 3 von 3 Absätzen, jeder Boilerplate-Hinweis (Login/Subscribe/Copyright) entfernt.
- Autor- und Datumsmetadaten werden korrekt zusammen mit dem Haupttext extrahiert.
- Mehrfachausgabe mit einem Aufruf: txt, Markdown und JSON — Markdown ist ein echter Schritt zu LLM-ready Text.
- Schlanke, reine Python-Installation — kein Browser, kein Binärdownload, keine Abhängigkeitswand.
- Fehlerrobust:
fetch_urlgibt bei HTTP 500Nonezurück, statt eine Ausnahme zu werfen. - Die getestete Version entspricht der aktuellen Veröffentlichung (2.1.0) — keine Versionsabweichung.
- Apache-2.0-lizenziert — permissiv und für kommerzielle Nutzung gut geeignet.
Nachteile:
- Kein strukturierter Scraper: Der Katalogtest lieferte 12 Namen als Text und 0 typisierte Zeilen. Kein Schema, keine Felder.
- Kein JavaScript-Rendering — nur statisches HTML; für clientseitige Seiten braucht es einen separaten Renderer.
- Metadaten sind auf manchen Seiten nur teilweise vorhanden: Autor und Sitename waren in beiden echten Artikel-Fixtures
null. - Mein öffentlicher Texttest basierte auf einem Produktbeschreibungsblock, nicht auf einem echten Nachrichtenartikel.
- Der integrierte Crawl-/Sitemap-Spider und die CSV-/XML-Ausgabeformate wurden in diesem Durchlauf nicht getestet; dazu mache ich keine Aussagen.
Für wen es gedacht ist — und wer es lieber lassen sollte
trafilatura richtet sich ganz klar an Menschen mit folgendem Problem: „Ich habe URLs und will den sauberen Artikeltext — ohne Navigationsleiste, Cookie-Banner und Newsletter-Nerverei.“ Textkorpora aufbauen, Seiten an ein Modell weiterreichen, lesbare Inhalte archivieren, NLP auf Webartikeln betreiben — das ist genau sein Terrain, und dort ist das Tool sehr gut. Wenn Sie einen leichten, browserlosen Schritt suchen, der chaotisches HTML in sauberes Markdown oder JSON verwandelt, installieren Sie es und machen Sie weiter.
Lassen Sie es weg, wenn Sie eigentlich strukturierte Extraktion brauchen: Produktzeilen mit Preis, typisierte Datensätze, key: value-Felder. Das Tool liefert Text, keine Tabellen — der Katalogtest brachte die Namen zurück, aber nicht die Zeilen, und daran ändert sich nichts. Lassen Sie es auch weg, wenn Ihre Zielseiten Inhalte erst im Browser rendern und Sie keinen separaten Renderer dazuschalten möchten, denn trafilatura liest statisches HTML und hört dort auf. Der Fehler ist nicht dramatisch; Sie bekommen einfach ein leeres oder dünnes Ergebnis und fragen sich, warum. Das Werkzeug muss zur Aufgabe passen — Artikeltext ja; strukturiertes JSON oder JS-gerenderte Seiten lieber woanders.
Alternativen — und wo Thunderbit ins Bild passt
Thunderbit für Web-Datenextraktion ausprobieren
Zuerst die faire Einordnung. trafilatura ist eine kostenlose, Apache-2.0-lizenzierte Self-hosted-Bibliothek, die Sie selbst betreiben. Sie besitzen den Code, Sie zahlen nichts pro Seite, und das Tool ist leicht genug, um ohne großen Betriebsaufwand in jede Pipeline zu passen. Für die konkrete Aufgabe, einen Artikel auf sauberen Text herunterzubrechen, ist diese Kombination schwer zu schlagen — und ein bezahlter Dienst ändert daran nichts.
Interessant wird der Vergleich erst an der Grenze, die trafilatura bewusst zieht: strukturierte Daten und JavaScript. Genau diese beiden Dinge macht es nicht, und genau dafür ist eine verwaltete Extraktions-API gebaut. Dort liegt der Thunderbit-Stack für Entwickler — auf der anderen Seite dieser Linie, als Ergänzung zu trafilatura und nicht als Konkurrenz bei statischem HTML-Artikeltext. Der /distill-Endpoint erledigt dieselbe Art von Aufgabe wie trafilatura — Seite zu sauberem LLM-ready Markdown — aber mit serverseitigem JavaScript-Rendering, also genau dem Teil, den trafilatura auslässt. Und /extract liefert strukturiertes JSON auf Basis eines von Ihnen definierten Schemas, also genau den Bereich, den trafilatura aus Prinzip nicht abdeckt: Der Katalog, der als 478 Zeichen Fließtext zurückkam, wäre der Fall, in dem Sie stattdessen /extract nehmen würden. Für KI-Agenten und Coding-Assistenten gibt es einen MCP-Server, dessen Feldvorschlags-Tool man kostenlos testen kann, sowie eine CLI über npx @thunderbit/thunderbit-cli für Terminal, CI und Cron-Jobs. Das Ganze läuft auf derselben Engine wie die Thunderbit Chrome Extension, die von über 100.000 Menschen genutzt wird, also gibt es auch den nicht-technischen Weg — für dieses Publikum sind jedoch API, MCP und CLI die relevanten Schnittstellen.
Die eigentliche Abwägung war also nie die Qualität der Textextraktion — trafilatura gewinnt dort auf den Seiten, für die es gebaut wurde, und das sage ich ganz offen. Es geht um den Umfang und darum, wer den Browser betreibt. Brauchen Sie sauberen Artikeltext aus statischem HTML, selbst gehostet, ohne Kosten pro Abruf? Dann ist trafilatura das leichtere und präzisere Werkzeug, Punkt. Brauchen Sie strukturiertes JSON nach Schema oder rendert sich die Seite erst nach JavaScript? Dann gehört das ins Managed-Stack-Lager, und trafilatura will diesen Kampf auch gar nicht führen. Die Preise für die verwaltete Seite finden Sie auf der Thunderbit-Preisseite, falls Sie Kosten pro Seite gegen den Betrieb eines eigenen Renderers abwägen.
Wenn Sie Optionen über die gesamte Kategorie hinweg vergleichen, führe ich eine laufende Gegenüberstellung der Web-Scraping-Tools, die ich tatsächlich nutze, in der solche Bibliotheken neben browsergetriebenen und verwalteten Alternativen auftauchen.
Fazit
Sollte man trafilatura einsetzen? Ja — wenn Ihre Aufgabe darin besteht, chaotisches HTML in sauberen Artikeltext zu verwandeln, und wenn Sie die beiden Dinge, die es bewusst nicht tut, realistisch einordnen. Es entfernte jede Spur von Boilerplate und lieferte Titel, alle drei Textabsätze sowie Autor und Datum, und das mit einer einzigen leichten Installation ohne Browser. Es gibt txt, Markdown und JSON zusammen aus, was es zu einem echten Schritt zu LLM-ready Text macht. In einem Umfeld, das überzeugt ist, man brauche unbedingt einen Headless Browser und einen AI-Crawler für alles, war ausgerechnet das Tool ohne Browser dasjenige, das meine Texte sauber gemacht hat.
Man sollte es nur korrekt einordnen. Es ist ein Extraktor, kein strukturierter Scraper — der Katalog kam als 12 Namen im Text und 0 Zeilen zurück. Es liest statisches HTML und führt kein JavaScript aus. Die Metadaten-Extraktion ist auf manchen Seiten stark und auf anderen unvollständig (Autor und Sitename waren in beiden echten Artikel-Fixtures null, die ich geprüft habe). Und mein öffentlicher Texttest beruhte auf einem Produktbeschreibungsblock, nicht auf einem echten Nachrichtenartikel, also würde ich die Aussage für journalistische Qualität eher als vielversprechend denn als endgültig gelten lassen. Innerhalb dieser Grenzen erledigt trafilatura seine eine Aufgabe sauberer als die schwereren Tools, mit denen ich es verglichen habe — und das mit fast nichts installiert.
Thunderbit für Web-Datenextraktion ausprobieren Get Started Free
FAQs
Was extrahiert trafilatura eigentlich von einer Seite? Den Hauptinhalt — also den Artikeltext plus Titel sowie Metadaten wie Autor und Datum — und entfernt dabei Boilerplate. In meinem Test gab es den Titel und alle 3 von 3 Textabsätze von einer Seite zurück, die von Navigation, Login, Subscribe und Copyright-Lärm umgeben war, und jeder dieser Marker fehlte im Ergebnis. Das Tool entscheidet per Heuristik, was Inhalt ist, und braucht deshalb keine site-spezifischen Selektoren, um eine unbekannte Seite zu bereinigen.
Kann trafilatura einen Produktkatalog in strukturierte Zeilen zerlegen? Nein. Es ist ein Content-Extraktor, kein strukturierter Scraper. In einem Fixture mit 12 Produkten lieferte es alle 12 Produktnamen als Fließtext (478 Zeichen) und 0 strukturierte Zeilen — die Namen sind im Ergebnis enthalten, aber nicht als Felder. Wenn Sie typisierte Datensätze wie Name/Preis/Bewertung brauchen, nehmen Sie stattdessen einen selektorbasierten Parser oder eine schema-gestützte Extraktions-API.
Rendert trafilatura JavaScript? Nein. Es verarbeitet nur statisches HTML. Wenn Sie es auf eine clientseitig gerenderte Seite ansetzen, bekommen Sie das, was der Server vor dem JavaScript-Lauf ausgeliefert hat — und das ist oft nicht der Inhalt, den Sie suchen. Kombinieren Sie es mit einem separaten Renderer, wenn Ihre Zielseiten stark auf JavaScript setzen; trafilatura liest das statische Dokument und hört dort auf.
Ist trafilatura schwer zu installieren?
Nein — das ist einer seiner echten Vorteile. pip install trafilatura zog in einer frischen virtuellen Umgebung unter Python 3.14 einen einzigen sauberen Paketbaum nach, ohne Browser-Download, ohne Post-Install-Schritt und ohne versteckte Extras-Gruppe. Die von pip installierte Version (2.1.0) entspricht der aktuellen Veröffentlichung vom 2026-06-07.
Wie genau ist trafilatura im Vergleich zu anderen Extraktoren? Ich habe die Genauigkeit in diesem Review nicht selbst gebenchmarkt, daher verweise ich auf externe Belege. trafilatura veröffentlicht eine Evaluation-Seite und erreicht im ScrapingHub article-extraction benchmark den besten Open-Source-F1-Wert (etwa 0,945) gegenüber Vergleichern wie readability-lxml (~0,887). Beachten Sie: Dieser Wert stammt aus diesem Benchmark und einer älteren 0.5.1-Linie, nicht von der von mir getesteten 2.1.0 — lesen Sie ihn also als externe Evidenz für den Ruf des Tools, nicht als Messwert aus diesem Artikel.


