HTML(超文本标记语言)是一种用于创建网页的标记语言,能让开发者构建内容丰富、视觉吸引力强的页面布局。然而,HTML 文件通常包含大量标签,若仅需获取主要内容,这些标签会使其难以阅读。通过 Python 将 HTML 转换为文本,可轻松解决这一问题。与原始 HTML 不同,转换后的文本文件会剥离所有不必要的标记,仅保留干净易读的内容,更便于存储、分析或进一步处理。
安装 HTML 转文本 Python 库
推荐使用 Spire.Doc for Python 实现转换。该 Python Word 库不仅是轻量高效的 HTML 转文本工具,还支持几乎所有 Word 操作(如创建、内容编辑等),兼容性强、上手简单。
Spire.Doc for Python试用下载
请联系慧都科技,技术交流Q群(125237868)
通过 pip 命令安装(推荐)
打开终端 / 命令行,执行以下命令即可自动完成安装:Python 将 HTML 文件转换为文本
借助 Spire.Doc for Python,仅需 3 个简单步骤即可将本地 HTML 文件转换为纯文本:创建 Document 对象 → 加载 HTML 文件 → 保存为 TXT 格式。整个过程简洁高效,新手也能轻松上手!下面详细介绍代码实现:
代码示例 — HTML 文件转 TXT 文本文件- from spire.doc import *
- from spire.doc.common import *
- # 打开 HTML 文件
- document = Document()
- document.LoadFromFile("sample.html.html", FileFormat.Html, XHTMLValidationType.none)
- # 保存为文本文件
- document.SaveToFile("HTML转文本.txt", FileFormat.Txt)
- document.Close()
复制代码 转换效果预览(源文件 vs 输出文件):
请注意:若 HTML 文件包含表格,输出的文本文件将仅保留表格中的数据,无法保留原始表格格式。若希望移除标记的同时保留特定样式,建议先将 HTML 转换为 Word 文档,这样可保留标题、表格等格式,让内容更易于编辑和使用。
Python 将 HTML 字符串转换为文本
如果仅需提取网页部分内容(如爬取的 HTML 片段),可直接将 HTML 字符串转换为文本,无需加载完整 HTML 文件,更灵活高效。
Spire.Doc 转换 HTML 字符串到文本文件的实现步骤:
- 直接输入 HTML 字符串或从本地文件读取;
- 创建 Document 对象并添加节(Section)和段落(Paragraph);
- 使用 Paragraph.AppendHTML() 方法将 HTML 字符串插入段落;
- 通过 Document.SaveToFile() 方法将文档保存为 .txt 文件。
代码示例 — HTML 字符串转 TXT 文本文件- from spire.doc import *
- from spire.doc.common import *
- # 获取 HTML 字符串(可注释下方代码,取消注释读取本地文件的逻辑)
- # with open(inputFile) as fp:
- # html = fp.read()
- # 定义 HTML 字符串
- html = """
- <html>
- <body>
- <h1>示例HTML内容</h1>
- <p>这是一个包含<strong>粗体</strong>和<em>斜体</em>文本的段落。</p>
- <p>另一行带有链接。</p>
- <ul>
- <li>列表项1</li>
- <li>列表项2(带有<em>斜体</em>文本)</li>
- </ul>
- <p>特殊字符:© & ®</p>
- </body>
- </html>
- """
- # 创建新文档
- document = Document()
- section = document.AddSection()
- # 将 HTML 字符串插入段落
- section.AddParagraph().AppendHTML(html)
- # 保存为 TXT 文件
- document.SaveToFile("HTML字符串转文本.txt", FileFormat.Txt)
- document.Close()
复制代码 转换后的 TXT 文件预览:
Spire.Doc for Python试用下载
请联系慧都科技,技术交流Q群(125237868)
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |