從網頁提取乾淨的文字是資料管道、報告工具和內容分析的常見需求。 Aspose.HTML for Python via .NET 提供了強大的 SDK,能處理 HTML 解析和文字提取,無需手動正則表達式。在本指南中,我們將展示如何在 Python 中將 HTML 轉換為 TXT,涵蓋安裝、完整程式碼範例以及效能技巧。您還將學習如何驗證產生的 TXT 並處理常見的編碼問題。

完整程式碼範例:將 HTML 轉換為 TXT(Python)

以下示例演示了使用 Aspose.HTML for Python via .NET 的完整端到端轉換。

import os
import sys
import aspose.html as ah
import aspose.html.saving as ahs

def convert_html_to_txt(input_path: str, output_path: str, encoding: str = "utf-8") -> None:
    """
    Converts an HTML file to a plain text (TXT) file using Aspose.HTML for Python via .NET.
    """
    if not os.path.isfile(input_path):
        raise FileNotFoundError(f"Input file does not exist: {input_path}")

try:
        # Load the HTML document
        document = ah.HtmlDocument(input_path)

# Configure TXT save options
        txt_options = ahs.TxtSaveOptions()
        txt_options.encoding = encoding          # Ensure proper character encoding
        txt_options.remove_extra_whitespace = True  # Reduce unnecessary spaces (if supported)

# Perform the conversion
        document.save(output_path, txt_options)

except Exception as exc:
        # Capture any Aspose or I/O related errors
        print(f"[Error] Conversion failed: {exc}", file=sys.stderr)
        raise

finally:
        # Explicitly release resources held by the document
        if 'document' in locals():
            document.dispose()

def validate_txt_output(output_path: str, min_chars: int = 10) -> None:
    """
    Simple validation to ensure the TXT file was created and contains readable content.
    """
    if not os.path.isfile(output_path):
        raise FileNotFoundError(f"Output file was not created: {output_path}")

with open(output_path, "r", encoding="utf-8") as txt_file:
        content = txt_file.read()

if len(content) < min_chars:
        raise ValueError("Output text appears to be empty or truncated.")

# Show a short preview for quick verification
    preview = content[:200].replace("\r", "").replace("\n", " | ")
    print(f"[Info] Conversion succeeded. Preview (first 200 chars):\n{preview}")

if __name__ == "__main__":
    # Example file paths – replace with actual locations as needed
    INPUT_HTML = "sample.html"
    OUTPUT_TXT = "sample.txt"

try:
        convert_html_to_txt(INPUT_HTML, OUTPUT_TXT)
        validate_txt_output(OUTPUT_TXT)
    except Exception as e:
        print(f"[Fatal] HTML to TXT conversion failed: {e}", file=sys.stderr)
        sys.exit(1)

注意: 此程式碼範例示範了核心功能。在您的專案中使用之前,請確保更新檔案路徑(sample.htmlsample.txt)以符合實際檔案位置,驗證所有必要的相依項目已正確安裝,並在開發環境中徹底測試。如遇到任何問題,請參閱官方文件或聯絡支援團隊尋求協助。

了解 Python 代碼中將 HTML 轉換為 TXT 的方法

以下是腳本中關鍵部分的逐步說明:

  1. 匯入所需的命名空間 - 腳本匯入 aspose.htmlaspose.html.saving,它們包含用於載入 HTML 和配置 TXT 輸出的核心類別。

    import aspose.html as ah
    import aspose.html.saving as ahs
    
  2. 載入 HTML 文件 - ah.HtmlDocument(input_path) 會將來源 HTML 檔案解析為 SDK 可操作的 DOM。

    document = ah.HtmlDocument(input_path)
    
  3. 配置 TXT 保存選項 - ahs.TxtSaveOptions() 讓您設定輸出編碼,並可選擇性移除多餘的空白,以獲得更乾淨的結果。

    txt_options = ahs.TxtSaveOptions()
    txt_options.encoding = encoding
    txt_options.remove_extra_whitespace = True
    
  4. 執行轉換 - document.save(output_path, txt_options) 會使用已配置的選項寫入純文字檔案。

    document.save(output_path, txt_options)
    
  5. 驗證輸出 - 輔助函式 validate_txt_output 會檢查 TXT 檔案是否存在且包含最少字元數,然後列印簡短預覽。這在使用 Python 進行批次 HTML 轉 TXT 轉換時非常有用,因為您需要確保每個檔案都正確處理。

如需詳細的 API 資訊,請參閱 HtmlDocumentTxtSaveOptionsAPI 參考

準備環境

  1. 安裝 SDK - 使用 pip 將 Aspose.HTML for Python via .NET 添加到您的專案。

    pip install aspose-html-net
    
  2. 驗證安裝 - 安裝完成後,您可以在 Python REPL 中導入該套件,以確認它能正常載入且不會出錯。

import aspose.html
print(aspose.html.__version__)
  1. 下載最新版本(可選) - 如果您更喜歡手動下載,請從官方發行頁面獲取二進位檔案: Download Aspose.HTML for Python via .NET.

  2. 先決條件 - 確保您的機器上已安裝相容的 .NET 執行環境(例如 .NET 6.0 或更高版本),因為 SDK 依賴於 .NET 執行環境運行。

環境設置完成後,您已準備好執行轉換腳本。

結論

在 Python 中將 HTML 轉換為 TXT 非常簡單,只要利用 Aspose.HTML for Python via .NET 的強大功能。SDK 抽象化了 HTML 解析、字符編碼和空白處理的複雜性,為您提供快速且可靠的文字提取解決方案。請記得驗證生成的 TXT 檔案,並根據您的特定效能或格式需求調整 TxtSaveOptions。在生產環境中使用時,請取得正式授權;授權價格詳情可在產品頁面上查閱,臨時授權可從 臨時授權頁面 獲取。將此工具整合到您的資料管道、報告工具或內容分析工作流程中,以簡化文字處理任務。

常見問題

如何在 Python 中使用 Aspose.HTML 將 HTML 轉換為 TXT?
使用 SDK 中的 convert_html_to_txt 函式。它使用 HtmlDocument 載入 HTML,套用 TxtSaveOptions,並將結果儲存為純文字檔案。

是否有方法在 Python 中自動化大量檔案的 HTML 轉 TXT 轉換?
是的,將轉換呼叫放入迴圈中或使用 Python 的 concurrent.futures 以平行方式處理檔案,即可在大型批次中快速完成 HTML 到 TXT 的轉換。

哪些選項可以提升 HTML 轉 TXT 的效能?
TxtSaveOptions 中啟用 remove_extra_whitespace,並選擇適當的編碼。SDK 的原生實作確保高速,適用於對效能要求嚴格的情境。

SDK 是否支援對輸出 TXT 的自訂編碼?
當然可以。您可以將 txt_options.encoding 設定為任何有效的 Python 編碼(例如 "utf-8""utf-16"),以確保產生的 TXT 符合您的下游需求。

Read More