वह आर्टिकल एक्सट्रैक्टर जो ब्राउज़र नहीं खोलता — और फिर भी मेरे टेस्ट पेज साफ़ कर दिए

अंतिम अपडेट:July 17, 2026
वह आर्टिकल एक्सट्रैक्टर जो ब्राउज़र नहीं खोलता — और फिर भी मेरे टेस्ट पेज साफ़ कर दिए
AI सारांश
यह trafilatura review इस लाइब्रेरी को browser, crawler, या structured scraper के बजाय एक focused article-content extractor के रूप में पेश करता है। इसमें जांचा गया है कि trafilatura static HTML से boilerplate कितनी अच्छी तरह हटाता है और title, author, date, तथा body paragraphs को कैसे सुरक्षित रखता है। review में multi-format output, lightweight setup, speed, failure boundaries, और यह भी शामिल है कि यह product catalogs या arbitrary field extraction के लिए उपयुक्त क्यों नहीं है। यह उन teams के लिए उपयोगी benchmark है जिन्हें headless browser लगाए बिना या per-site selectors लिखे बिना search, analysis, या LLM pipelines के लिए साफ़ article text चाहिए।

इस साल चर्चा में रहने वाले ज़्यादातर scraping tools ब्राउज़र चलाना चाहते हैं। trafilatura ऐसा नहीं करता। यह एक pure-Python लाइब्रेरी है जो static HTML पढ़ती है, तय करती है कि कौन-से blocks असली article हैं, और बाकी सब हटा देती है। उसका यह सीमित काम — main-content extraction — ही इसकी पूरी खासियत है, और यह काम यह लाइब्रेरी तब से कर रही है जब “LLM-ready markdown” शब्द आम इस्तेमाल में भी नहीं आया था।

मैंने version 2.1.0 को Python 3.14 पर fixed fixtures के एक सेट पर चलाया, और article test ने सबसे ज़्यादा ध्यान खींचा। मैंने एक असली टेक्स्ट को usual page furniture में लपेट दिया — login prompt, “Subscribe” nag, nav links, copyright footer — और trafilatura ने title, body के तीनों paragraphs, author, और date वापस दे दिए, और boilerplate के सारे निशान गायब थे। न browser, न हर साइट के लिए अलग rules, बस एक function call। लेकिन एक catch है — और है — जो तब सामने आता है जब आप इससे structured output माँगते हैं। उसकी बात नीचे है (यह design choice है, flaw नहीं)।

trafilatura क्या है, और कौन-सी मान्यता छोड़नी चाहिए

इसके official one-liner में इसे “Python & command-line tool to gather text and metadata on the Web: crawling, scraping, extraction,” कहा गया है, और output के रूप में CSV, JSON, HTML, Markdown, TXT, या XML बताया गया है। यह description काफ़ी broad है, लेकिन tool को असल में अलग बनाने वाली बात को थोड़ा कम करके दिखाता है। असली value crawl helpers या six output formats में नहीं है। यह है content extraction: HTML document इन, main article text आउट, page chrome हटाकर।

एक mental model से समझिए, क्योंकि वही इसकी ताकत और सीमा दोनों को साफ़ कर देता है। ज़्यादातर scrapers selector-driven होते हैं। आप कहते हैं “product-price class वाले element को उठाओ,” और वे वहीं का data लौटा देते हैं। trafilatura उल्टा काम करता है। यह पूरे document को पढ़ता है और content heuristics के आधार पर खुद तय करता है कि कौन-से blocks article हैं और कौन-से boilerplate। इसलिए इसे ऐसे page को साफ़ करने के लिए per-site configuration की ज़रूरत नहीं होती, जिसे उसने पहले कभी नहीं देखा। और इसी वजह से यह structured catalog वापस नहीं दे सकता: यहाँ कोई schema नहीं, कोई field map नहीं, बस यह फ़ैसला है कि content क्या है। यह extractor है, ऐसा parser नहीं जिसे आप target करें।

यह सचमुच हल्का भी है। Pure Python, no headless browser, cache में पड़ा हुआ कोई chromium binary नहीं, और first run पर अचानक हमला करने वाला Playwright install भी नहीं। यह बात मामूली लग सकती है, लेकिन जब आप हज़ारों URLs पर extraction चला रहे हों, तब हर megabyte dependency और हर subprocess एक operational burden बन जाता है। 2026-07-09 तक यह लगभग 6.26k-star project है (adbar/trafilatura) — browser और crawler frameworks से छोटा repo, जिनके साथ इसे अक्सर group किया जाता है — जो इसके scope का संकेत है, quality पर कोई टिप्पणी नहीं।

Setup वाला हिस्सा छोटा है, और वही इसकी review है

Install एक ही line में हो जाता है, और चेतावनी देने लायक कुछ नहीं — और यही report करने लायक बात है। एक fresh virtualenv में pip install trafilatura ने Python 3.14 पर एक साफ़ single package tree खींच लिया — न browser download, न post-install step, न transitive dependency wall. मैंने इतनी libraries review की हैं कि दूसरी shoe गिरने का इंतज़ार करने लगूँ: first execution पर मिलने वाला 150MB browser bundle, compile न होने वाली native extension, या वह extra [fetchers] group जिसके बारे में किसी ने बताया ही नहीं। trafilatura में वह दूसरी shoe कभी गिरी ही नहीं।

जो version pip ने दिया (2.1.0), वही current release है, published 2026-06-07, इसलिए नीचे दिए गए numbers पर “आपने पुराना version test किया” वाला asterisk नहीं है। इस category में यह हमेशा सच नहीं होता — मैंने कई heavier tools को run करते समय major version पीछे पाया है। यहाँ tested build और shipping build एक ही हैं।

Hands-on: extractor ने वास्तव में क्या लौटाया

मैंने trafilatura को ऐसे fixtures पर चलाया जो इसके sweet spot और इसकी सीमा, दोनों को touch करते थे। Article test ने इसके बारे में मेरी राय तय कर दी।

trafilatura boilerplate cleanup

मैंने एक local article fixture लिया और असली content को noise में दबा दिया — login prompt, “Subscribe” call-to-action, navigation links, और copyright footer — वही boilerplate जो naive scraper body के साथ उठा लाता है। trafilatura ने title के साथ body के तीनों में से तीनों paragraphs लौटा दिए, और boilerplate के हर unique marker — Login, Subscribe, Copyright — output से गायब थे। Text के साथ-साथ उसने page metadata से author और date भी सही निकाल लिए। परिणाम .txt, .md, और .json तीनों रूपों में एक ही call से मिला।

trafilatura title and 3/3 paragraphs retained

यह multi-format detail काफ़ी मायने रखती है। एक extraction plain text, Markdown, और JSON के रूप में बाहर आया। Markdown path वही “LLM-ready text” step है जिसकी आज हर कोई तलाश में है: messy page डालो, साफ़ prose लो, structure बना रहे, और model को दे दो। trafilatura यह browser के बिना करता है, जो वही output पाने का एक शांत, सीधा तरीका है जिसके लिए browser-driving tools पूरा rendering stack खड़ा कर देते हैं।

फिर public check किया। मैंने इसे एक live product page — Books to Scrape का product page — पर चलाया, और इसने 1,324 characters का साफ़ text plus Markdown लौटाया: description block, पढ़ने लायक, बिना page chrome के। और जब मैंने इसे ऐसा page दिया जिसने HTTP 500 लौटाया, तो fetch_url ने exception फेंकने के बजाय None लौटाया। न crash, न stack trace. Unattended, scheduled job में यही boring-but-correct behavior चाहिए।

Caveats

तीन हैं, और हर एक tool की fit को सीमित करता है।

trafilatura catalog text-only boundary

पहला और सबसे बड़ा: trafilatura content extractor है, structured scraper नहीं। मैंने इसे 12-product catalog fixture पर चलाया। इसने सभी 12 product names लौटा दिए — text के रूप में — और structured rows बिल्कुल 0 (flat text के 478 characters)। Names और prices output में हैं, लेकिन fields के रूप में नहीं। अगर आपको [{name, price, rating}, …] चाहिए, तो यह गलत tool है, और कोई configuration flag यह नहीं बदलेगा। यह इस बात का design choice है कि tool किस लिए बना है, कोई bug नहीं।

trafilatura no JavaScript render boundary

दूसरा: यह JavaScript render नहीं करता। यह static HTML consume करता है। इसे किसी client-rendered single-page app पर चलाइए, और जो server ने JavaScript के चलने से पहले भेजा था, वही मिलेगा — जो अक्सर उपयोगी नहीं होता। अगर आपके targets JS-heavy हैं, तो इसे renderer के साथ जोड़ना पड़ेगा — trafilatura वह आधा काम अपने-आप नहीं करेगा, और ऐसा दावा भी नहीं करता।

तीसरा caveat मेरी अपनी evidence पर है। ऊपर का public extraction test product-description block पर आधारित था, कोई असली news article नहीं, क्योंकि मैंने जो public sandbox इस्तेमाल किया (toscrape family) उसमें catalogs हैं, news pages नहीं। Controlled local fixture से मिला clean article-cleaning result भरोसेमंद है — boilerplate removal स्पष्ट और repeatable है — लेकिन product page newsroom-grade extraction का प्रमाण नहीं है, इसलिए मैं उसे वैसा नहीं बताऊँगा।

उस gap को कुछ हद तक भरने के लिए, मैंने अलग से, intentionally un-scored demonstration दो real article pages पर किया, saved fixtures पढ़कर ताकि run deterministic रहे। Wikipedia के “Web scraping” article पर trafilatura ने raw HTML के 230,049 bytes को 26,673 bytes extracted content में बदल दिया (0.116 body-to-raw ratio), और चारों checked site-chrome markers — “Jump to content,” “Privacy policy,” “Powered by MediaWiki,” “This page was last edited” — गायब थे। एक archived Wikinews article पर यह 79,716 bytes से 2,200 bytes तक गया (0.028 ratio), और सभी पाँच checked markers हट गए। दोनों में title, date, और hostname populated लौटे; author और sitename दोनों null आए, और मैं उन misses को छिपा नहीं रहा हूँ। यहाँ दो बातें साफ़ रखना ज़रूरी है: यह byte ratio बताता है कि कितना markup और chrome हटाया गया, accuracy नहीं; और दोनों pages एक ही MediaWiki family की हैं, इसलिए यह real articles पर demo है, representative corpus नहीं।

Accuracy के मामले में, मैं external evidence की ओर इशारा करूँगा, pretend नहीं करूँगा कि मैंने खुद benchmark किया। trafilatura अपना evaluation page publish करता है, और ScrapingHub article-extraction benchmark में readability-lxml (~0.887) जैसे comparators के मुकाबले top open-source F1 (लगभग 0.945) दर्ज करता है। इस number पर दो honest qualifiers हैं: यह उस benchmark से आता है, मेरे test से नहीं, और reported ~0.945 figure source में पुराने 0.5.1 line से जुड़ा है, 2.1.0 से नहीं जिसे मैंने चलाया। इसे tool की reputation के लिए external benchmark evidence समझिए, इस review की measurement नहीं।

Pros और cons

Pros:

  • मेरे set में सबसे साफ़ article extraction — title plus 3 में से 3 paragraphs, और हर boilerplate marker (Login/Subscribe/Copyright) हट गया।
  • Body के साथ author और date metadata सही तरीके से निकालता है।
  • एक call से multi-format output: txt, Markdown, और JSON — Markdown सचमुच LLM-ready text step है।
  • Lightweight, pure-Python install — browser नहीं, binary download नहीं, dependency wall नहीं।
  • Graceful failure: HTTP 500 पर fetch_url None लौटाता है, exception नहीं फेंकता।
  • Tested version current release के बराबर है (2.1.0) — version drift नहीं।
  • Apache-2.0 licensed — permissive और commercially friendly।

Cons:

  • Structured scraper नहीं: catalog test ने 12 names text में लौटाए और 0 typed rows। No schema, no fields.
  • JavaScript rendering नहीं — static HTML only; client-side pages के लिए अलग renderer चाहिए।
  • कुछ sites पर metadata partial है: author और sitename दोनों real-article fixtures में null आए।
  • मेरा public prose test product-description block पर था, real news article पर नहीं।
  • Built-in crawl/sitemap spider और CSV/XML output formats इस pass में test नहीं किए गए, इसलिए उन पर कोई दावा नहीं।

यह किसके लिए है — और किसे इसे छोड़ देना चाहिए

trafilatura सीधे उस व्यक्ति के लिए है जिसकी समस्या है: “मेरे पास URLs हैं और मुझे साफ़ article text चाहिए, बिना nav bar, cookie banner, और newsletter nag के।” Text corpus बनाना, pages को model को देना, readable content archive करना, web articles पर NLP चलाना — यही इसका मैदान है, और इसमें यह बहुत अच्छा है। अगर आपको एक lightweight, no-browser step चाहिए जो messy HTML को साफ़ Markdown या JSON में बदल दे, इसे install कीजिए और काम शुरू कीजिए।

इसे छोड़ दीजिए अगर आपको असल में structured extraction चाहिए: priced product rows, typed records, key: value fields. यह आपको text देता है, tables नहीं — catalog test ने names वापस दिए, rows नहीं, और यह नहीं बदलेगा। अगर आपके targets browser में content render करते हैं और आप अलग renderer जोड़ने को तैयार नहीं हैं, तब भी इसे छोड़ें, क्योंकि trafilatura static HTML पढ़ता है और वहीं रुक जाता है। Failure mode dramatic नहीं होता; आपको बस empty या thin result मिलता है और समझ नहीं आता क्यों। Tool को काम के हिसाब से चुनिए — article text, हाँ; structured JSON या JS-rendered pages, कहीं और देखिए।

Alternatives, और Thunderbit कहाँ फिट बैठता है

Web Data Extraction के लिए Thunderbit आज़माएँ

पहले fair framing। trafilatura एक free, Apache-2.0, self-hosted library है जिसे आप खुद चलाते हैं। Code आपका है, per-page cost zero है, और इतना हल्का है कि किसी भी pipeline में बिना operational drag के डाल सकते हैं। Article को साफ़ text में काटने के विशिष्ट काम के लिए यह combo मुश्किल से beat होता है, और paid service इस verdict को नहीं बदलती।

Comparison तब दिलचस्प होता है जब trafilatura जानबूझकर जो boundary बनाता है, वहाँ पहुँचा जाए: structured data और JavaScript. यही दो चीज़ें वह नहीं करता, और यही वे दो चीज़ें हैं जिन्हें managed extraction API संभालने के लिए बनाया जाता है। यही वह जगह है जहाँ Thunderbit का developer stack बैठता है — उस line के दूसरी तरफ — static-HTML article text के मामले में trafilatura के साथ compete करने के बजाय उसे complement करता हुआ। /distill endpoint वही shape का काम करता है जो trafilatura करता है — page से साफ़ LLM-ready Markdown निकालना — लेकिन JavaScript rendering server-side संभाली जाती है, जो trafilatura का छोड़ा हुआ आधा हिस्सा है। और /extract आपके द्वारा define किए गए schema के अनुसार structured JSON लौटाता है, जो trafilatura design के कारण नहीं देता: catalog जो 478 characters के flat text के रूप में वापस आया, वहीं /extract की ज़रूरत पड़ती है। AI agents और coding assistants के लिए एक MCP server भी है, जिसका field-suggestion tool try करने के लिए free है, और terminal, CI, और cron work के लिए npx @thunderbit/thunderbit-cli से CLI भी है। यह वही engine चलाता है जो Thunderbit Chrome Extension के पीछे है, जिसे 100,000 से ज़्यादा लोग इस्तेमाल करते हैं, इसलिए non-technical route भी मौजूद है, लेकिन इस audience के लिए API, MCP, और CLI असली surface हैं।

असल trade-off कभी text-extraction quality का नहीं था — trafilatura उस work में जीतता है जिसके लिए यह बना है, और मैं यह साफ़ कहूँगा। सवाल scope का है और browser कौन चलाता है। अगर आपको static HTML से clean article text चाहिए, self-hosted, zero per-call cost पर, तो trafilatura हल्का और तेज़ tool है — सीधा। अगर आपको schema के अनुसार structured JSON चाहिए, या page सिर्फ JavaScript चलने के बाद render होता है, तो managed stack का मैदान है, और trafilatura उस लड़ाई में उतर ही नहीं रहा। Managed side की pricing आप Thunderbit pricing page पर देख सकते हैं, अगर आप per-page cost की तुलना अपने renderer को खुद operate करने की लागत से कर रहे हैं।

अगर आप पूरे category में options weigh कर रहे हैं, तो मैं वेब scraping tools की अपनी running comparison रखता हूँ, जहाँ इस तरह की libraries को browser-driven और managed alternatives के साथ रखा गया है।

Verdict

क्या आपको trafilatura इस्तेमाल करना चाहिए? हाँ — अगर आपका काम messy HTML को clean article text में बदलना है, और आप उन दो चीज़ों को साफ़ समझते हैं जो यह intentionally नहीं करता। इसने page से हर boilerplate marker हटाया और title, body के सभी तीन paragraphs, और author व date, एक ही lightweight install से, बिना browser के, लौटा दिए। यह txt, Markdown, और JSON एक साथ देता है, इसलिए यह एक legitimate LLM-ready text step है। एक ऐसे क्षेत्र में जो मानता है कि कुछ भी करने के लिए headless browser और AI crawler चाहिए, बिना browser वाला tool वह cleaning कर गया जो मुझे चाहिए थी।

बस इसे सही आकार में समझिए। यह extractor है, structured scraper नहीं — catalog 12 names of text और 0 rows के रूप में लौटा। यह static HTML पढ़ता है और JavaScript नहीं चलाता। Metadata extraction कुछ pages पर बहुत अच्छा है और कुछ पर partial (मैंने जिन दो real-article fixtures को देखा, उनमें author and sitename null आए)। और मेरा public prose test product-description block पर आधारित था, real news article पर नहीं, इसलिए newsroom-grade claim को पक्का मानने के बजाय promising समझिए। इन सीमाओं के भीतर, trafilatura अपना एक काम heavier tools से साफ़ करता है जिनकी मैंने तुलना की — और लगभग बिना कुछ install किए।

Web Data Extraction के लिए Thunderbit आज़माएँ Get Started Free

FAQs

trafilatura वास्तव में page से क्या extract करता है? Main content — यानी article body, title, और author तथा date जैसी metadata — boilerplate हटाकर। मेरे test में इसने nav, login, subscribe, और copyright noise से घिरे page से title और body के 3 में से 3 paragraphs लौटाए, और इन markers में से एक भी output में नहीं था। यह heuristics के आधार पर तय करता है कि content क्या है, इसलिए ऐसे page को साफ़ करने के लिए per-site selectors की ज़रूरत नहीं होती जिसे उसने पहले कभी नहीं देखा।

क्या trafilatura किसी product catalog को structured rows में scrape कर सकता है? नहीं। यह content extractor है, structured scraper नहीं। 12-product catalog fixture पर इसने सभी 12 product names flat text (478 characters) के रूप में लौटाए और 0 structured rows — names output में हैं, लेकिन fields नहीं। अगर आपको name/price/rating जैसे typed records चाहिए, तो selector-based parser या schema-driven extraction API इस्तेमाल करें।

क्या trafilatura JavaScript render करता है? नहीं। यह सिर्फ static HTML consume करता है। इसे किसी client-rendered page पर डालेंगे, तो जो server ने JavaScript चलने से पहले भेजा था वही मिलेगा, जो अक्सर वही content नहीं होता जिसकी आप तलाश कर रहे हैं। अगर आपके targets JS-heavy हैं, तो एक अलग renderer के साथ इसे जोड़िए; trafilatura static document पढ़ता है और रुक जाता है।

क्या trafilatura install करना मुश्किल है? नहीं — यही इसकी असली selling points में से एक है। pip install trafilatura ने Python 3.14 पर fresh virtualenv में एक साफ़ single package tree pull किया, बिना browser download, बिना post-install step, और बिना किसी hidden extras group के। जो version pip ने install किया (2.1.0) वही current release है, published 2026-06-07।

अन्य extractors की तुलना में trafilatura कितनी accurate है? इस review में मैंने accuracy benchmark नहीं किया, इसलिए बाहरी evidence की ओर इशारा करूँगा। trafilatura अपना evaluation page publish करता है, और ScrapingHub article-extraction benchmark में readability-lxml (~0.887) जैसे comparators के मुकाबले top open-source F1 (लगभग 0.945) दिखाता है। ध्यान रहे यह figure उस benchmark से आता है, 2.1.0 से नहीं जिसे मैंने test किया — इसलिए इसे tool की reputation के external evidence की तरह पढ़िए, इस article की measurement की तरह नहीं।

Ke
Ke
Thunderbit में CTO | वरिष्ठ डेटा वैज्ञानिक और एमएल विशेषज्ञ मशीन लर्निंग और डेटा साइंस में लगभग एक दशक के अनुभव के साथ, के शेन कोलंबिया विश्वविद्यालय के पूर्व छात्र हैं और Walmart Labs में पूर्व वरिष्ठ डेटा वैज्ञानिक रह चुके हैं। Python, R, Java और सांख्यिकी में उनकी गहरी, सहकर्मी-मान्य विशेषज्ञता है, और वे जटिल AI एल्गोरिद्म को सिद्धांत से उत्पादन-स्तरीय आर्किटेक्चर तक ले जाने पर व्यावहारिक, आजमाई हुई अंतर्दृष्टियाँ साझा करते हैं।
Topics
Web Scraping ToolsAI Web Scraper

Thunderbit आज़माएं

लीड्स और अन्य डेटा सिर्फ 2 क्लिक में स्क्रैप करें। AI से संचालित।

Thunderbit पाएं यह मुफ्त है
AI का उपयोग करके डेटा निकालें
डेटा को Google Sheets, Airtable या Notion में आसानी से ट्रांसफर करें
Chrome Store Rating
PRODUCT HUNT#1 Product of the Week