Τα περισσότερα εργαλεία scraping που τραβούν το βλέμμα φέτος θέλουν να ανοίγουν browser. Το trafilatura όχι. Είναι μια καθαρά Python βιβλιοθήκη που διαβάζει static HTML, ξεχωρίζει ποια κομμάτια είναι όντως το άρθρο και πετάει τα υπόλοιπα. Αυτή η πολύ συγκεκριμένη δουλειά — η εξαγωγή του κύριου περιεχομένου — είναι και όλος ο σκοπός του εργαλείου, και το κάνει ήδη από τότε που κανείς δεν μιλούσε ακόμη για «LLM-ready markdown».
Έτρεξα την έκδοση 2.1.0 πάνω σε ένα σταθερό σύνολο δοκιμαστικών αρχείων στο Python 3.14, και το τεστ άρθρου ήταν αυτό που μου έμεινε περισσότερο. Έβαλα ένα σώμα πραγματικού κειμένου μέσα στα συνηθισμένα “έπιπλα” μιας σελίδας — ένα prompt για login, μια προτροπή «Subscribe», links πλοήγησης, ένα footer πνευματικών δικαιωμάτων — και το trafilatura μου επέστρεψε τον τίτλο και τις τρεις παραγράφους του σώματος, μαζί με τον συγγραφέα και την ημερομηνία, έχοντας αφαιρέσει όλα αυτά τα boilerplate στοιχεία. Χωρίς browser, χωρίς κανόνες ανά site, με μία κλήση συνάρτησης. Η αστερίσκος, και υπάρχει μία, εμφανίζεται αμέσως μόλις του ζητήσεις κάτι δομημένο. Πιο κάτω θα εξηγήσω γιατί αυτό είναι θέμα σχεδιασμού και όχι ελάττωμα.
Τι είναι το trafilatura και ποια υπόθεση αξίζει να αφήσεις πίσω
Η επίσημη one-line περιγραφή το παρουσιάζει ως «Python & command-line tool to gather text and metadata on the Web: crawling, scraping, extraction», με έξοδο σε CSV, JSON, HTML, Markdown, TXT ή XML. Αυτό είναι ευρύ, αλλά υποτιμά το κομμάτι που πραγματικά ξεχωρίζει το εργαλείο. Η αξία του δεν είναι τα βοηθητικά εργαλεία για crawling ούτε οι έξι μορφές εξόδου. Είναι η εξαγωγή περιεχομένου: HTML έγγραφο μέσα, κύριο άρθρο έξω, με το “περιτύλιγμα” της σελίδας αφαιρεμένο.
Να το νοητικό μοντέλο, γιατί εξηγεί και τη δύναμη και τα όρια με μία κίνηση. Τα περισσότερα scrapers που δίνεις σε μια σελίδα βασίζονται σε selectors. Τους λες «πάρε το στοιχείο με class product-price» και σου επιστρέφουν ό,τι υπάρχει εκεί. Το trafilatura λειτουργεί ανάποδα. Διαβάζει ολόκληρο το έγγραφο και αποφασίζει ποια blocks είναι το άρθρο και ποια είναι boilerplate, χρησιμοποιώντας heuristics περιεχομένου αντί για selector που έγραψες εσύ. Γι’ αυτό δεν χρειάζεται καμία παραμετροποίηση ανά site για να καθαρίσει μια σελίδα που δεν έχει ξαναδεί. Και ακριβώς γι’ αυτό δεν μπορεί να επιστρέψει δομημένο κατάλογο: δεν υπάρχει schema, ούτε αντιστοίχιση πεδίων, μόνο μια εκτίμηση για το τι μετρά ως περιεχόμενο. Είναι extractor, όχι parser που τον κατευθύνεις.
Είναι επίσης πραγματικά ελαφρύ. Καθαρή Python, χωρίς headless browser, χωρίς chromium binary κρυμμένο στην cache σου, χωρίς εγκατάσταση Playwright που περιμένει να σε αιφνιδιάσει στην πρώτη εκτέλεση. Αυτό ακούγεται μικρό μέχρι να τρέχεις εξαγωγή σε χιλιάδες URLs και κάθε megabyte εξαρτήσεων και κάθε subprocess να είναι κάτι που πρέπει να διαχειριστείς. Αυτό είναι περίπου ένα project με 6.26k stars στις 2026-07-09 (adbar/trafilatura) — ένα πολύ μικρότερο repo από τα browser και crawler frameworks με τα οποία συχνά το βάζουν στο ίδιο καλάθι, κάτι που λέει πολλά για το εύρος του, όχι κάτι αρνητικό για την ποιότητά του.
Η εγκατάσταση είναι η σύντομη ενότητα, και αυτό από μόνο του είναι αξιολόγηση
Η εγκατάσταση γίνεται με μία γραμμή και δεν υπάρχει τίποτα να σε προειδοποιήσει, κάτι που από μόνο του αξίζει αναφορά. Το pip install trafilatura σε ένα φρέσκο virtualenv έφερε ένα καθαρό package tree στο Python 3.14 — χωρίς browser για κατέβασμα, χωρίς post-install βήμα, χωρίς περίπλοκο πλέγμα transitive dependencies. Έχω δει αρκετά τέτοια εργαλεία για να περιμένω το δεύτερο παπούτσι: το browser bundle των 150MB που ανακαλύπτεις στην πρώτη εκτέλεση, το native extension που δεν μεταγλωττίζεται, το πρόσθετο [fetchers] group που κανείς δεν ανέφερε. Με το trafilatura, το παπούτσι δεν έπεσε ποτέ.
Η έκδοση που μου έδωσε το pip (2.1.0) ταιριάζει με την τωρινή release, που δημοσιεύτηκε στις 2026-06-07, άρα κανένας από τους αριθμούς παρακάτω δεν κουβαλά αστερίσκο του τύπου «δοκιμάσατε παλιό build». Σ’ αυτή την κατηγορία αυτό δεν είναι πάντα δεδομένο — πολλά βαρύτερα εργαλεία που είχα δει είχαν μείνει μία major έκδοση πίσω μέχρι να τα τρέξω. Εδώ το build που δοκίμασα και το build που διατίθεται είναι το ίδιο.
Πρακτικά: τι επέστρεψε πραγματικά ο extractor
Έτρεξα το trafilatura πάνω σε fixtures που σχεδιάστηκαν για να δοκιμάσουν και το δυνατό του σημείο και το όριό του. Το τεστ άρθρου είναι αυτό που διαμόρφωσε την κρίση μου.

Πήρα ένα τοπικό fixture άρθρου και έκρυψα το πραγματικό περιεχόμενο μέσα σε θόρυβο — ένα login prompt, ένα call-to-action «Subscribe», links πλοήγησης και ένα footer πνευματικών δικαιωμάτων, δηλαδή ακριβώς το είδος boilerplate που ένας αφελής scraper θα τραβούσε μαζί με το body. Το trafilatura επέστρεψε τον τίτλο και και τις 3 από τις 3 παραγράφους του σώματος, ενώ κάθε μοναδικό boilerplate marker — Login, Subscribe, Copyright — απουσίαζε από το output. Πέρα από το κείμενο, τράβηξε σωστά και τον συγγραφέα και την ημερομηνία από τα metadata της σελίδας. Το αποτέλεσμα βγήκε σε .txt, .md και .json με μία μόνο κλήση.

Αυτό το multi-format στοιχείο αξίζει να το σταθούμε λίγο. Μία εξαγωγή βγήκε ως απλό κείμενο, ως Markdown και ως JSON. Η διαδρομή Markdown είναι το βήμα «LLM-ready text» που κυνηγούν όλοι αυτή τη στιγμή: τροφοδοτείς μια μπερδεμένη σελίδα, παίρνεις καθαρό πεζό λόγο με διατηρημένη τη δομή, και το δίνεις σε ένα μοντέλο. Το trafilatura το κάνει αυτό χωρίς browser πουθενά στη ροή, κάτι που είναι ένας πιο ήσυχος δρόμος προς το ίδιο output με τα browser-driven εργαλεία που στήνουν ολόκληρο rendering stack για να το πετύχουν.
Μετά ήρθε ο δημόσιος έλεγχος. Το έστρεψα σε μια live σελίδα προϊόντος — μια product page από το Books to Scrape — και μου επέστρεψε 1.324 χαρακτήρες καθαρού κειμένου μαζί με Markdown: το description block, ευανάγνωστο, χωρίς το “περιτύλιγμα” της σελίδας. Και όταν του έδωσα μια σελίδα που απαντούσε με HTTP 500, το fetch_url επέστρεψε None αντί να πετάξει exception. Χωρίς κρασάρισμα, χωρίς stack trace να σε παγιδέψει. Αυτή η βαρετή αλλά σωστή συμπεριφορά σε αποτυχία είναι ακριβώς αυτό που θέλεις σε κάτι που τρέχει χωρίς επίβλεψη σε πρόγραμμα.
Οι επιφυλάξεις
Τρεις, και η καθεμία περιορίζει το πού ταιριάζει το εργαλείο.

Πρώτον και σημαντικότερο: το trafilatura είναι extractor περιεχομένου, όχι structured scraper. Το έτρεξα πάνω σε ένα fixture καταλόγου με 12 προϊόντα. Επέστρεψε και τα 12 ονόματα προϊόντων — ως κείμενο — και ακριβώς 0 δομημένες γραμμές (478 χαρακτήρες επίπεδου κειμένου). Τα ονόματα και οι τιμές είναι μέσα στο output· απλώς δεν είναι πεδία. Αν χρειάζεσαι [{name, price, rating}, …], αυτό είναι το λάθος εργαλείο και καμία ρύθμιση δεν το αλλάζει. Είναι επιλογή σχεδιασμού για το τι είναι φτιαγμένο να κάνει, όχι bug για αναφορά.

Δεύτερον: δεν αποδίδει JavaScript. Καταναλώνει static HTML. Αν το δείξεις σε single-page app που αποδίδεται από τον client, θα πάρεις ό,τι έστειλε ο server πριν τρέξει το JS, που πολύ συχνά δεν είναι τίποτα χρήσιμο. Συνδύασέ το με renderer αν οι στόχοι σου βασίζονται σε JavaScript — το trafilatura δεν αναλαμβάνει αυτό το μισό, και ούτε ισχυρίζεται ότι το κάνει.
Τρίτον, μια επιφύλαξη για τα ίδια μου τα δεδομένα. Το δημόσιο τεστ εξαγωγής παραπάνω βασίστηκε σε block περιγραφής προϊόντος, όχι σε κανονικό news article, επειδή το δημόσιο sandbox που χρησιμοποίησα (η οικογένεια toscrape) είναι γεμάτο καταλόγους και δεν έχει σελίδες ειδήσεων. Το καθαρό αποτέλεσμα καθαρισμού άρθρου προέρχεται από ελεγχόμενο τοπικό fixture. Το εμπιστεύομαι — η αφαίρεση boilerplate είναι ξεκάθαρη και αναπαραγώγιμη — αλλά μια product page δεν αποδεικνύει εξαγωγή επιπέδου newsroom, οπότε δεν θα το παρουσιάσω ως τέτοια.
Για να καλύψω εν μέρει αυτό το κενό, έκανα μια ξεχωριστή, σκόπιμα μη βαθμολογημένη επίδειξη σε δύο πραγματικές σελίδες άρθρων, διαβάζοντας αποθηκευμένα fixtures ώστε η εκτέλεση να είναι ντετερμινιστική. Στο άρθρο της Wikipedia για το «Web scraping», το trafilatura κατέβασε το σώμα από 230.049 bytes ακατέργαστου HTML σε 26.673 bytes εξαγόμενου περιεχομένου (λόγος body-to-raw 0,116), και και οι τέσσερις ελεγμένοι markers του site chrome — «Jump to content,» «Privacy policy,» «Powered by MediaWiki,» «This page was last edited» — είχαν εξαφανιστεί. Σε ένα αρχειοθετημένο άρθρο του Wikinews, πήγε από 79.716 bytes σε 2.200 (λόγος 0,028), με όλους τους πέντε ελεγμένους markers να αφαιρούνται. Τίτλος, ημερομηνία και hostname επέστρεψαν συμπληρωμένα και στις δύο περιπτώσεις· author και sitename επέστρεψαν null και στις δύο, και το αναφέρω αντί να το κρύψω. Δύο πράγματα να μείνουν ξεκάθαρα εδώ: αυτός ο λόγος bytes μετρά πόσο markup και “περιτύλιγμα” αφαιρέθηκε, όχι την ακρίβεια εξαγωγής, και και οι δύο σελίδες προέρχονται από την ίδια οικογένεια MediaWiki, άρα πρόκειται για επίδειξη σε πραγματικά άρθρα, όχι για αντιπροσωπευτικό corpus.
Όσον αφορά την ακρίβεια ειδικά, θα παραπέμψω σε εξωτερικά στοιχεία αντί να προσποιηθώ ότι τη μέτρησα εγώ. Το trafilatura δημοσιεύει τη δική του σελίδα αξιολόγησης, και αναφέρει το κορυφαίο open-source F1 (περίπου 0,945) στο ScrapingHub article-extraction benchmark σε σύγκριση με comparators όπως το readability-lxml (~0,887). Δύο έντιμες διευκρινίσεις γι’ αυτόν τον αριθμό: προέρχεται από εκείνο το benchmark, όχι από τη δική μου δοκιμή, και το αναφερόμενο ~0,945 συνδέεται με παλαιότερη γραμμή 0.5.1 στην πηγή, όχι με το 2.1.0 που έτρεξα. Δες το ως εξωτερικό evidence για το γιατί το εργαλείο έχει φήμη στον χώρο της εξαγωγής, όχι ως μέτρηση από αυτή την κριτική.
Πλεονεκτήματα και μειονεκτήματα
Πλεονεκτήματα:
- Η πιο καθαρή εξαγωγή άρθρου στο σετ μου — τίτλος και και οι 3 από τις 3 παραγράφους, με όλα τα boilerplate markers (Login/Subscribe/Copyright) αφαιρεμένα.
- Τραβά σωστά και metadata συγγραφέα και ημερομηνίας μαζί με το σώμα.
- Έξοδος σε πολλαπλές μορφές από μία κλήση: txt, Markdown και JSON — το Markdown είναι πραγματικό βήμα για LLM-ready κείμενο.
- Ελαφριά, καθαρή εγκατάσταση σε Python — χωρίς browser, χωρίς download binary, χωρίς “τείχος” εξαρτήσεων.
- Ομαλή αποτυχία: το
fetch_urlεπιστρέφειNoneσε HTTP 500 αντί να πετάει exception. - Η δοκιμασμένη έκδοση είναι ίδια με την τωρινή release (2.1.0) — χωρίς απόκλιση έκδοσης.
- Άδεια Apache-2.0 — επιτρεπτική και φιλική για εμπορική χρήση.
Μειονεκτήματα:
- Δεν είναι structured scraper: το τεστ καταλόγου επέστρεψε 12 ονόματα ως κείμενο και 0 τυποποιημένες γραμμές. Χωρίς schema, χωρίς πεδία.
- Δεν κάνει JavaScript rendering — μόνο static HTML· χρειάζεται ξεχωριστό renderer για σελίδες client-side.
- Τα metadata είναι μερικά σε ορισμένα sites: author και sitename γύρισαν null και στα δύο πραγματικά article fixtures.
- Το δημόσιο τεστ πεζού λόγου βασίστηκε σε block περιγραφής προϊόντος, όχι σε αληθινό news article.
- Οι ενσωματωμένοι crawler/sitemap spider και οι μορφές εξόδου CSV/XML δεν δοκιμάστηκαν σε αυτό το πέρασμα, άρα δεν κάνω ισχυρισμούς γι’ αυτά.
Σε ποιον ταιριάζει — και ποιος καλύτερα να το προσπεράσει
Το trafilatura απευθύνεται ξεκάθαρα σε όποιον λέει: «Έχω URLs και θέλω το καθαρό κείμενο του άρθρου, χωρίς τη μπάρα πλοήγησης, το cookie banner και την υπενθύμιση για newsletter». Δημιουργία text corpus, τροφοδότηση σε μοντέλο, αρχειοθέτηση αναγνώσιμου περιεχομένου, NLP πάνω σε web articles — αυτό είναι το πεδίο του και είναι πολύ καλό εκεί. Αν θέλεις ένα ελαφρύ βήμα, χωρίς browser, που μετατρέπει ακατάστατο HTML σε καθαρό Markdown ή JSON, εγκατέστησέ το και προχώρα.
Προσπέρασέ το αν αυτό που πραγματικά χρειάζεσαι είναι δομημένη εξαγωγή: γραμμές προϊόντων με τιμή, τυποποιημένες εγγραφές, πεδία key: value. Θα σου δώσει κείμενο, όχι πίνακες — το τεστ καταλόγου ανέκτησε τα ονόματα αλλά όχι τις γραμμές, και αυτό δεν πρόκειται να αλλάξει. Προσπέρασέ το επίσης αν οι στόχοι σου αποδίδουν το περιεχόμενο μέσα στον browser και δεν θέλεις να προσθέσεις ξεχωριστό renderer, γιατί το trafilatura διαβάζει static HTML και σταματά εκεί. Η αποτυχία δεν είναι θεαματική· απλώς παίρνεις άδειο ή φτωχό αποτέλεσμα και αναρωτιέσαι γιατί. Ταιριάξε το εργαλείο με τη δουλειά — κείμενο άρθρου, ναι· δομημένο JSON ή σελίδες που αποδίδονται με JavaScript, ψάξε αλλού.
Εναλλακτικές, συμπεριλαμβανομένου του πού ταιριάζει το Thunderbit
Δοκίμασε το Thunderbit για Εξαγωγή Δεδομένων από το Web
Πρώτα η δίκαιη διατύπωση. Το trafilatura είναι μια δωρεάν, Apache-2.0, self-hosted βιβλιοθήκη που τη χειρίζεσαι εσύ. Έχεις τον κώδικα, δεν κοστίζει ανά σελίδα και είναι αρκετά ελαφριά ώστε να μπει σε οποιοδήποτε pipeline χωρίς λειτουργικό βάρος. Για τη συγκεκριμένη δουλειά της μετατροπής ενός άρθρου σε καθαρό κείμενο, αυτός ο συνδυασμός είναι πολύ δύσκολο να ξεπεραστεί, και μια paid υπηρεσία δεν αλλάζει αυτή την εικόνα.
Η σύγκριση γίνεται ενδιαφέρουσα στο όριο που το trafilatura βάζει επίτηδες: δομημένα δεδομένα και JavaScript. Αυτά είναι τα δύο πράγματα που δεν κάνει, και τυχαίνει να είναι ακριβώς τα δύο πράγματα που μια managed extraction API έχει φτιαχτεί για να αναλαμβάνει. Εκεί βρίσκεται το developer stack του Thunderbit — στην άλλη πλευρά αυτής της γραμμής, συμπληρώνοντας το trafilatura αντί να ανταγωνίζεται το static-HTML άρθρο κειμένου. Το /distill endpoint κάνει το ίδιο είδος δουλειάς με το trafilatura, από σελίδα σε καθαρό LLM-ready Markdown, αλλά με JavaScript rendering στο server-side, δηλαδή ακριβώς το μισό που το trafilatura παραλείπει. Και το /extract επιστρέφει structured JSON πάνω σε schema που ορίζεις εσύ, δηλαδή το μισό που το trafilatura απορρίπτει εκ κατασκευής: ο κατάλογος που γύρισε ως 478 χαρακτήρες επίπεδου κειμένου είναι ακριβώς η περίπτωση όπου θα γύριζες στο /extract. Για AI agents και coding assistants υπάρχει MCP server, με tool field-suggestion που μπορείς να δοκιμάσεις δωρεάν, και CLI μέσω npx @thunderbit/thunderbit-cli για terminal, CI και cron δουλειές. Λειτουργεί πάνω στην ίδια μηχανή με το Thunderbit Chrome Extension που χρησιμοποιούν πάνω από 100.000 άνθρωποι, άρα υπάρχει και η μη τεχνική διαδρομή, αλλά για αυτό το κοινό το API, το MCP και το CLI είναι η ουσιαστική επιφάνεια.
Άρα η πραγματική ανταλλαγή δεν ήταν ποτέ η ποιότητα της εξαγωγής κειμένου — το trafilatura κερδίζει εκεί στις σελίδες για τις οποίες έχει φτιαχτεί, και το λέω καθαρά. Είναι θέμα εύρους και του ποιος σηκώνει τον browser. Θες καθαρό κείμενο άρθρου από static HTML, self-hosted, με μηδενικό κόστος ανά κλήση; Το trafilatura είναι το πιο ελαφρύ και κοφτερό εργαλείο, τέλος. Θες structured JSON πάνω σε schema ή η σελίδα αποδίδεται μόνο αφού τρέξει JavaScript; Εκεί ανήκει το managed stack, και δεν είναι μάχη που το trafilatura προσπαθεί να δώσει. Οι τιμές για τη managed πλευρά υπάρχουν στη σελίδα τιμολόγησης του Thunderbit αν ζυγίζεις κόστος ανά σελίδα έναντι του να διαχειρίζεσαι μόνος σου renderer.
Αν ζυγίζεις επιλογές σε όλη την κατηγορία, κρατώ μια συνεχή σύγκριση με τα web scraping tools που χρησιμοποιώ πραγματικά, όπου βάζω τέτοιες βιβλιοθήκες δίπλα στις browser-driven και managed εναλλακτικές.
Συμπέρασμα
Να χρησιμοποιήσεις το trafilatura; Ναι — αν η δουλειά σου είναι να μετατρέπεις ακατάστατο HTML σε καθαρό κείμενο άρθρου και έχεις ξεκάθαρη εικόνα για τα δύο πράγματα που επίτηδες δεν κάνει. Αφαίρεσε από μια σελίδα κάθε boilerplate marker και επέστρεψε τον τίτλο και τις τρεις παραγράφους του σώματος, μαζί με τον συγγραφέα και την ημερομηνία, μέσα από μία ελαφριά εγκατάσταση χωρίς browser στον ορίζοντα. Παράγει txt, Markdown και JSON μαζί, κάτι που το κάνει πραγματικό βήμα για LLM-ready κείμενο. Σε έναν χώρο που πιστεύει ότι χρειάζεσαι οπωσδήποτε headless browser και AI crawler για να κάνεις οτιδήποτε, το εργαλείο που δεν ανοίγει browser έκανε τον καθαρισμό που με ενδιαφέρει.
Απλώς υπολόγισέ το σωστά. Είναι extractor, όχι structured scraper — ο κατάλογος επέστρεψε ως 12 ονόματα σε κείμενο και 0 γραμμές. Διαβάζει static HTML και δεν τρέχει JavaScript. Η εξαγωγή metadata είναι δυνατή σε κάποιες σελίδες και μερική σε άλλες (author και sitename γύρισαν null και στα δύο πραγματικά article fixtures που έλεγξα). Και το δημόσιο τεστ πεζού λόγου βασίστηκε σε block περιγραφής προϊόντος, όχι σε αληθινό news article, οπότε αντιμετώπισε τον ισχυρισμό για newsroom-level απόδοση ως πολλά υποσχόμενο και όχι τελεσίδικο. Μέσα σε αυτά τα όρια, το trafilatura κάνει τη μία δουλειά του πιο καθαρά από τα βαρύτερα εργαλεία που το συνέκρινα απέναντί του — και το κάνει με σχεδόν τίποτα εγκατεστημένο.
Δοκίμασε το Thunderbit για Εξαγωγή Δεδομένων από το Web Get Started Free
Συχνές ερωτήσεις
Τι εξάγει πραγματικά το trafilatura από μια σελίδα; Το κύριο περιεχόμενο — το σώμα του άρθρου μαζί με τον τίτλο, και metadata όπως συγγραφέα και ημερομηνία — με το boilerplate αφαιρεμένο. Στη δοκιμή μου επέστρεψε τον τίτλο και και τις 3 από τις 3 παραγράφους του σώματος από μια σελίδα γεμάτη με θόρυβο από navigation, login, subscribe και copyright, και κανένα από αυτά τα markers δεν εμφανίστηκε στο output. Αποφασίζει τι μετρά ως περιεχόμενο με heuristics, άρα δεν χρειάζεται selectors ανά site για να καθαρίσει μια σελίδα που δεν έχει ξαναδεί.
Μπορεί το trafilatura να μετατρέψει έναν κατάλογο προϊόντων σε δομημένες γραμμές; Όχι. Είναι content extractor, όχι structured scraper. Σε ένα fixture με 12 προϊόντα επέστρεψε και τα 12 ονόματα ως επίπεδο κείμενο (478 χαρακτήρες) και 0 δομημένες γραμμές — τα ονόματα είναι μέσα στο output, αλλά δεν είναι πεδία. Αν χρειάζεσαι τυποποιημένες εγγραφές όπως name/price/rating, χρησιμοποίησε parser βασισμένο σε selectors ή ένα extraction API που στηρίζεται σε schema.
Αποδίδει JavaScript το trafilatura; Όχι. Καταναλώνει μόνο static HTML. Αν το δείξεις σε σελίδα που αποδίδεται στον client, θα πάρεις ό,τι έστειλε ο server πριν τρέξει η JavaScript, που συχνά δεν είναι το περιεχόμενο που ψάχνεις. Συνδύασέ το με ξεχωριστό renderer αν οι στόχοι σου βασίζονται σε JS· το trafilatura διαβάζει το static document και σταματά εκεί.
Είναι δύσκολη η εγκατάσταση του trafilatura;
Όχι — αυτό είναι ένα από τα πραγματικά πλεονεκτήματά του. Το pip install trafilatura έφερε ένα καθαρό package tree σε φρέσκο virtualenv στο Python 3.14, χωρίς download browser, χωρίς post-install βήμα και χωρίς κρυφά extra groups. Η έκδοση που εγκατέστησε το pip (2.1.0) είναι ίδια με την τωρινή release, δημοσιευμένη στις 2026-06-07.
Πόσο ακριβές είναι το trafilatura σε σχέση με άλλα extractors; Δεν έκανα benchmark ακρίβειας σε αυτή την κριτική, οπότε θα παραπέμψω στα εξωτερικά στοιχεία. Το trafilatura δημοσιεύει μια σελίδα αξιολόγησης, και αναφέρει το κορυφαίο open-source F1 (περίπου 0,945) στο ScrapingHub article-extraction benchmark σε σύγκριση με comparators όπως το readability-lxml (~0,887). Σημείωσε ότι αυτός ο αριθμός προέρχεται από εκείνο το benchmark σε παλαιότερη γραμμή 0.5.1, όχι στο 2.1.0 που δοκίμασα — άρα διάβασέ τον ως εξωτερικό evidence για τη φήμη του εργαλείου, όχι ως μέτρηση από αυτό το άρθρο.


