html2text:HTML 转 Markdown 的轻量 Python 工具

张开发
2026/6/9 8:39:17 15 分钟阅读

分享文章

html2text:HTML 转 Markdown 的轻量 Python 工具
文章目录html2textHTML 转 Markdown 的轻量 Python 工具html2textHTML 转 Markdown 的轻量 Python 工具html2text 是一个将 HTML 页面转为纯文本的 Python 工具在 GitHub 上收获了 2,154 颗 Star它的输出是干净的 ASCII 文本同时也是合法的 Markdown。这个项目最初由 Aaron Swartz 编写以 GPLv3 协议开源。功能定位html2text 只做一件事把 HTML 转成 Markdown。没有多余的包装输入 HTML 字符串或文件得到结构清晰的 Markdown 文本。命令行调用方式很直接html2text[filename[encoding]]支持的选项包括选项说明--ignore-links不保留链接格式--escape-all转义所有特殊字符输出可读性降低但能避免格式问题--reference-links使用引用式链接替代内联链接--mark-code用[code]...[/code]标记代码块完整的选项列表可参考项目文档。Python APIhtml2text 可以直接在 Python 中导入使用。最简单的调用方式importhtml2textprint(html2text.html2text(pstrongZeds/strong dead baby, emZeds/em dead./p))输出**Zeds** dead baby, _Zeds_ dead.如果需要更细粒度的控制可以实例化HTML2Text类importhtml2text hhtml2text.HTML2Text()h.ignore_linksTrueprint(h.handle(pHello, a hrefhttps://www.google.com/earth/world/a!))这段代码会输出纯文本Hello, world!链接被剥离。将ignore_links改回False链接会以 Markdown 格式保留h.ignore_linksFalseprint(h.handle(pHello, a hrefhttps://www.google.com/earth/world/a!))输出为Hello, [world](https://www.google.com/earth/)!安装html2text 已发布到 PyPI安装命令如下pipinstallhtml2text开发测试项目使用 tox 管理测试环境tox生成覆盖率报告coverage html之后用浏览器打开./htmlcov/index.html查看结果。CI 流程包含 mypy 类型检查、Flake8 代码风格检查和 Black 格式化。提交代码前建议运行tox-epre-commit确保所有检查项通过后再推送到仓库。html2text 代码量不大接口设计简洁。对于需要将 HTML 内容提取为 Markdown 的场景它是一个直接可用的选择。pre-commit确保所有检查项通过后再推送到仓库。 html2text 代码量不大接口设计简洁。对于需要将 HTML 内容提取为 Markdown 的场景它是一个直接可用的选择。

更多文章