Python實(shí)現(xiàn)HTML文件或字符串轉(zhuǎn)換為純文本TXT
1. 引言
在數(shù)據(jù)處理、內(nèi)容提取、網(wǎng)頁(yè)歸檔等任務(wù)中,經(jīng)常需要將 HTML 轉(zhuǎn)換為純文本 TXT。常見(jiàn)需求包括去除 HTML 標(biāo)簽,保留文本內(nèi)容,保留段落、列表等基本結(jié)構(gòu)。
本文將介紹如何用 Python 和 Free Spire.Doc 庫(kù)完成 HTML 到 TXT 的轉(zhuǎn)換。
2. 轉(zhuǎn)換原理
HTML 轉(zhuǎn) TXT 的本質(zhì)是解析 HTML 文檔對(duì)象模型(DOM),提取其中的文本節(jié)點(diǎn),再按需要的格式輸出。
常用方法有兩類:
- 純解析器(如
BeautifulSoup、lxml):快速、輕量,但需要自己處理?yè)Q行和縮進(jìn)。 - 文檔模型類庫(kù)(如 Free Spire.Doc):加載 HTML 到文檔對(duì)象,再導(dǎo)出為 TXT,結(jié)構(gòu)保留更好。
3. 環(huán)境準(zhǔn)備
安裝 Free Spire.Doc for Python:
pip install Spire.Doc.free
注意點(diǎn)擊查看免費(fèi)版的限制
4. 基本實(shí)現(xiàn)
4.1 HTML 文件 → TXT 文件
下面是一個(gè)將 HTML 文件轉(zhuǎn)換為 TXT 文本的簡(jiǎn)單示例:
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>示例頁(yè)面</title></head>
<body>
<h1>歡迎來(lái)到我的網(wǎng)站</h1>
<p>這是一個(gè)段落文本。</p>
<ul>
<li>項(xiàng)目1</li>
<li>項(xiàng)目2</li>
<li>項(xiàng)目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. 注意事項(xiàng)
- 格式保留:轉(zhuǎn)換后的 TXT 會(huì)保留 HTML 的段落結(jié)構(gòu)(換行、列表等),但不保留顏色、字體等樣式。
- 性能:對(duì)于超大型 HTML 文件,建議分段處理以避免內(nèi)存占用過(guò)高。
- 復(fù)雜 HTML:對(duì)于包含大量 JavaScript、CSS 或復(fù)雜布局的 HTML,建議先用對(duì)文件進(jìn)行預(yù)處理再轉(zhuǎn)換。
使用 Free Spire.Doc for Python 轉(zhuǎn)換 HTML 到 TXT 非常方便,只需幾行代碼即可完成,并且能夠較好地保留原有的文本結(jié)構(gòu)。相比正則表達(dá)式或簡(jiǎn)單的標(biāo)簽剝離方法,這種方式更穩(wěn)定可靠。
到此這篇關(guān)于Python實(shí)現(xiàn)HTML文件或字符串轉(zhuǎn)換為純文本TXT的文章就介紹到這了,更多相關(guān)Python HTML轉(zhuǎn)TXT內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python機(jī)器學(xué)習(xí)NLP自然語(yǔ)言處理基本操作電影影評(píng)分析
本文是Python機(jī)器學(xué)習(xí)NLP自然語(yǔ)言處理系列文章,帶大家開啟一段學(xué)習(xí)自然語(yǔ)言處理 (NLP) 的旅程。本篇文章主要學(xué)習(xí)NLP自然語(yǔ)言處理基本操電影影評(píng)分析2021-09-09
用python實(shí)現(xiàn)讀取xlsx表格操作
大家好,本篇文章主要講的是用python實(shí)現(xiàn)讀取xlsx表格操作,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話記得收藏一下2022-01-01
Python字符串的常見(jiàn)操作實(shí)例小結(jié)
這篇文章主要介紹了Python字符串的常見(jiàn)操作,結(jié)合實(shí)例形式總結(jié)分析了Python字符串的查詢、轉(zhuǎn)換、分割、計(jì)算等相關(guān)操作技巧,需要的朋友可以參考下2019-04-04
Python實(shí)現(xiàn)Opencv cv2.Canny()邊緣檢測(cè)
這篇博客將介紹Canny邊緣檢測(cè)的概念,并利用cv2.Canny()實(shí)現(xiàn)邊緣檢測(cè),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-07-07
LyScript實(shí)現(xiàn)Hook隱藏調(diào)試器的方法詳解
LyScript?插件集成的內(nèi)置API函數(shù)可靈活的實(shí)現(xiàn)繞過(guò)各類反調(diào)試保護(hù)機(jī)制。本文將運(yùn)用LyScript實(shí)現(xiàn)繞過(guò)大多數(shù)通用調(diào)試機(jī)制,實(shí)現(xiàn)隱藏調(diào)試器的目的,需要的可以參考一下2022-09-09
如何使用Python在excel中創(chuàng)建柱狀圖
這篇文章主要給大家介紹了關(guān)于如何使用Python在excel中創(chuàng)建柱狀圖的相關(guān)資料,包括導(dǎo)入模塊、新建工作簿、創(chuàng)建圖表、設(shè)置數(shù)據(jù)范圍、添加標(biāo)題和數(shù)據(jù)系列、以及保存圖表和工作簿,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下2025-04-04
Python實(shí)現(xiàn)將長(zhǎng)圖制作成一個(gè)視頻
這篇文章主要為大家詳細(xì)介紹了Python如何實(shí)現(xiàn)將一個(gè)長(zhǎng)圖制作成一個(gè)視頻,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2023-05-05

