Python實現(xiàn)HTML文件或字符串轉(zhuǎn)換為純文本TXT
1. 引言
在數(shù)據(jù)處理、內(nèi)容提取、網(wǎng)頁歸檔等任務中,經(jīng)常需要將 HTML 轉(zhuǎn)換為純文本 TXT。常見需求包括去除 HTML 標簽,保留文本內(nèi)容,保留段落、列表等基本結(jié)構(gòu)。
本文將介紹如何用 Python 和 Free Spire.Doc 庫完成 HTML 到 TXT 的轉(zhuǎn)換。
2. 轉(zhuǎn)換原理
HTML 轉(zhuǎn) TXT 的本質(zhì)是解析 HTML 文檔對象模型(DOM),提取其中的文本節(jié)點,再按需要的格式輸出。
常用方法有兩類:
- 純解析器(如
BeautifulSoup、lxml):快速、輕量,但需要自己處理換行和縮進。 - 文檔模型類庫(如 Free Spire.Doc):加載 HTML 到文檔對象,再導出為 TXT,結(jié)構(gòu)保留更好。
3. 環(huán)境準備
安裝 Free Spire.Doc for Python:
pip install Spire.Doc.free
注意點擊查看免費版的限制
4. 基本實現(xiàn)
4.1 HTML 文件 → TXT 文件
下面是一個將 HTML 文件轉(zhuǎn)換為 TXT 文本的簡單示例:
from spire.doc import *
from spire.doc.common import *
# 加載HTML文件
document = Document()
document.LoadFromFile("E:\input.html", FileFormat.Html, XHTMLValidationType.none)
# 另存為TXT文件
document.SaveToFile("Html文件轉(zhuǎn)TXT.txt", FileFormat.Txt)
document.Close()
核心代碼:
LoadFromFile():加載 HTML 文件。FileFormat.Html表示文件格式為 HTML。SaveToFile():將文檔保存為 TXT 格式。FileFormat.Txt表示保存為純文本。
輸出結(jié)果:

4.2 HTML 字符串 → TXT 文件
若 HTML 內(nèi)容已在內(nèi)存中(如接口返回、爬蟲抓取結(jié)果),可使用該方法:
from spire.doc import *
from spire.doc.common import *
# 指定HTML字符串
sample_html = """
<html>
<head><title>示例頁面</title></head>
<body>
<h1>歡迎來到我的網(wǎng)站</h1>
<p>這是一個段落文本。</p>
<ul>
<li>項目1</li>
<li>項目2</li>
<li>項目3</li>
</ul>
</body>
</html>
"""
# 創(chuàng)建文檔
document = Document()
# 在段落中插入字符串
section = document.AddSection()
section.AddParagraph().AppendHTML(sample_html)
# 另存為TXT
document.SaveToFile("Html字符串轉(zhuǎn)TXT.txt", FileFormat.Txt)
document.Close()
輸出結(jié)果:

5. 注意事項
- 格式保留:轉(zhuǎn)換后的 TXT 會保留 HTML 的段落結(jié)構(gòu)(換行、列表等),但不保留顏色、字體等樣式。
- 性能:對于超大型 HTML 文件,建議分段處理以避免內(nèi)存占用過高。
- 復雜 HTML:對于包含大量 JavaScript、CSS 或復雜布局的 HTML,建議先用對文件進行預處理再轉(zhuǎn)換。
使用 Free Spire.Doc for Python 轉(zhuǎn)換 HTML 到 TXT 非常方便,只需幾行代碼即可完成,并且能夠較好地保留原有的文本結(jié)構(gòu)。相比正則表達式或簡單的標簽剝離方法,這種方式更穩(wěn)定可靠。
到此這篇關(guān)于Python實現(xiàn)HTML文件或字符串轉(zhuǎn)換為純文本TXT的文章就介紹到這了,更多相關(guān)Python HTML轉(zhuǎn)TXT內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python實現(xiàn)Opencv cv2.Canny()邊緣檢測
這篇博客將介紹Canny邊緣檢測的概念,并利用cv2.Canny()實現(xiàn)邊緣檢測,具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-07-07
LyScript實現(xiàn)Hook隱藏調(diào)試器的方法詳解
LyScript?插件集成的內(nèi)置API函數(shù)可靈活的實現(xiàn)繞過各類反調(diào)試保護機制。本文將運用LyScript實現(xiàn)繞過大多數(shù)通用調(diào)試機制,實現(xiàn)隱藏調(diào)試器的目的,需要的可以參考一下2022-09-09
如何使用Python在excel中創(chuàng)建柱狀圖
這篇文章主要給大家介紹了關(guān)于如何使用Python在excel中創(chuàng)建柱狀圖的相關(guān)資料,包括導入模塊、新建工作簿、創(chuàng)建圖表、設置數(shù)據(jù)范圍、添加標題和數(shù)據(jù)系列、以及保存圖表和工作簿,文中通過代碼介紹的非常詳細,需要的朋友可以參考下2025-04-04

