adbar/trafilatura

Python & Command-line tool to gather text and metadata on the Web: Crawling, scraping, extraction, output as CSV, JSON, HTML, MD, TXT, XML

解決的問題

Trafilatura 是設計用於從網路收集文字,並將原始 HTML 轉換為結構化且有意義的資料。它透過專注於實際的主要內容與元資料,解決網頁中的「雜訊」問題(如頁首、頁尾與模板程式碼),提供一種可靠且快速的提取關鍵資訊方法,無需依賴資料庫。

工作原理

它作為一個 Python 套件與命令列工具運作,整合了網路爬取、下載與擷取功能。使用基於規則的提取器(並配有 jusText 與 readability-lxml 的備援機制),識別主要文字與元資料(如作者、日期與標題)。支援多種輸入來源,包括即時 URL、網站地圖、Feed(RSS、ATOM、JSON)以及先前下載的 HTML 檔案,並可將結果輸出為 JSON、Markdown、TXT、CSV 與 XML 等格式。

適用對象

主要針對需要為自然語言處理(NLP)任務建立文字資料庫或語料庫的開發者、研究人員與資料科學家,也適合任何需要清理網頁內容以提取結構化資料的人。

主要亮點

  • 全面的流程:整合網站地圖/Feed 探測、下載與擷取於單一工具中。
  • 高效率:在文字擷取基準測試中持續優於其他開源套件。
  • 高準確度:有效去除模板程式碼與雜訊,精準分離主要內容。
  • 模組化且便利:無需資料庫;支援多種輸出格式,包括 XML-TEI。
  • 廣泛採用:被 HuggingFace、NVIDIA 與 Microsoft Research 等組織使用。

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • 專案