開源

Trafilatura:適用於 LLM 資料集與研究的開源網頁文字擷取工具

Trafilatura 是一款 Python 網頁文字擷取與爬取工具,在開源擷取器中 F-Score 最高,被 HuggingFace、IBM 和 Microsoft 採用。

Keeping this site alive takes effort — your support means everything.
無程式碼也能輕鬆打造專業LINE官方帳號!一鍵導入模板,讓AI助你行銷加分! 無程式碼也能輕鬆打造專業LINE官方帳號!一鍵導入模板,讓AI助你行銷加分!
Trafilatura:適用於 LLM 資料集與研究的開源網頁文字擷取工具

從網頁中擷取乾淨、結構化的文字是 LLM 訓練資料集、研究語料庫和內容分析管線的基礎任務。Trafilatura 已成為此任務的黃金標準——這是一個 Python 函式庫,在開源文字擷取工具中持續取得最高的 F-Score,同時保持輕量、快速且易於整合。

由柏林-布蘭登堡人文科學院的 Adrien Barbaresi 開發,Trafilatura 超越了簡單的 HTML 轉文字功能。它能識別網頁的主要內容區域,移除導覽列、頁首、頁尾、廣告和側邊欄,僅回傳有意義的文字內容。其爬取功能允許遞迴追蹤網域內的連結,從整個網站建立全面的文字語料庫。

該工具的準確性和可靠性使其被 HuggingFace、IBM 和 Microsoft 等主要組織採用,並廣泛應用於學術 NLP 研究。它在 Clean-Eval 和其他評估框架中的頂尖表現,使其成為需要大規模可信文字擷取的研究人員的預設選擇。


Trafilatura 的準確度與其他擷取工具相比如何?

Trafilatura 的效能優勢已由衡量各類網頁內容精確度和召回率的學術基準所證實。

工具F-Score精確度召回率語言支援
Trafilatura0.940.950.9345 種以上語言
Newspaper3k0.820.840.8020 種以上語言
readability0.790.810.77主要為英文
boilerpy30.760.780.7410 種以上語言
jusText0.710.740.6815 種以上語言

在具有大量導覽元素、嵌入媒體和動態內容的複雜頁面佈局上,差距尤為明顯——而這些正是現代網頁的主流。Trafilatura 基於啟發式的方法,加上其處理單一頁面內多種內容格式的能力,使其具有持續的優勢。


Trafilatura 支援哪些輸出格式?

Trafilatura 在輸出格式上的多樣性使其適用於廣泛的下游應用。

graph LR
    A[HTML 輸入] --> B[Trafilatura]
    B --> C[純文字]
    B --> D[Markdown]
    B --> E[JSON]
    B --> F[XML]
    B --> G[CSV]
    C --> H[LLM 訓練資料]
    C --> I[全文搜尋]
    D --> J[RAG 區塊]
    D --> K[文件]
    E --> L[結構化分析]
    F --> M[TEI 編碼]
    G --> N[試算表匯入]
格式最適用於使用案例
純文字LLM 訓練語料庫微調資料集
MarkdownRAG 管線文件結構化知識庫
JSON程式化分析內容元資料擷取
XML/TEI學術歸檔數位人文研究
CSV批次處理批次 URL 擷取

每種格式都保留了擷取到的文字以及可設定的元資料,如 URL、標題、作者、發布日期和擷取時間戳記。


如何開始使用 Trafilatura?

安裝和基本使用非常簡單,只需一行 pip 命令和幾行 Python 程式碼。

任務命令 / 程式碼備註
安裝pip install trafilatura需要 Python 3.8+
從 URL 擷取trafilatura --url "https://example.com"CLI 一行指令
Python 基本用法from trafilatura import fetch_url, extract核心匯入
Python 使用content = extract(fetch_url(url))回傳 Markdown
批次處理trafilatura --list urls.txt --output-dir ./output支援爬取
爬取網域trafilatura --sitemap "https://example.com/sitemap.xml"遞迴爬取

該函式庫還提供精細控制選項,包括輸出格式選擇、語言檢測、內容排除規則和擷取策略配置。


常見問題

什麼是 Trafilatura? Trafilatura 是一款基於 Python 的網頁文字擷取與爬取工具,能識別並擷取 HTML 頁面中的主要文字內容,同時移除頁首、頁尾、導覽列、廣告等非必要元素。它在學術基準測試中達到開源文字擷取工具中最高的 F-Score。

Trafilatura 支援哪些輸出格式? Trafilatura 支援多種輸出格式,包括純文字、Markdown、JSON、XML 和 CSV。這種多樣性使其適用於從 LLM 資料集準備到研究語料庫建置和內容分析等各種下游任務。

Trafilatura 與其他擷取工具相比精確度如何? Trafilatura 在比較開源文字擷取工具的學術基準測試中持續獲得最高的 F-Score。在精確度和召回率方面,它優於 Newspaper3k、readability、boilerpy3 和 jusText 等替代方案。

如何安裝 Trafilatura? Trafilatura 可透過 pip 安裝:pip install trafilatura。需要 Python 3.8 或更高版本,且依賴項極少,易於整合到任何 Python 環境中。

哪些組織使用 Trafilatura? Trafilatura 在業界和研究領域被廣泛採用。知名使用者包括 HuggingFace(用於建立資料集)、IBM(用於內容分析)、Microsoft(用於研究管線),以及眾多學術機構用於網路語料庫建置和 NLP 研究。


延伸閱讀

TAG