HTML 到 Markdown:将保存的页面变成值得阅读的内容
打开任何 .html 您在文本编辑器中从网络保存的文件,您要做的第一件事
注意这篇文章的内容是多么少。一千五百行导航菜单、cookie 横幅、跟踪
像素,内嵌 <style> 块,以及 <div class="wrapper-outer-container">
嵌套六层深——包裹着大约四十段实际写作。将其粘贴到聊天中
助手,您将在标记上烧掉大部分上下文窗口,这对模型没有任何意义。
转换 HTML 到 Markdown 翻转这个比例。带有意义的标签被翻译; 仅携带布局的标签被丢弃。出来的是一个与文档形状相同的文档 原始页面——标题、列表、表格、链接、代码块——大约占十分之一的字符。 上传上面的文件,几秒钟后您就可以得到它。免费,无需注册,不存储任何内容。
HTML 标签如何映射到 Markdown
Markdown 被设计为 HTML 子集的简写,因此大部分翻译接近于 一对一。了解映射可以准确地告诉您输出中的预期内容:
<h1>通过<h6>成为#通过######。从字面上看,航向深度得到了保留,这比听起来更重要—— 要求逐节总结的模型需要知道哪些标题是同级标题。<ul>,<ol>并嵌套<li>变成破折号和 带有嵌套缩进的数字列表。<table>成为管道表,前提是该表是真实的数据表。使用的表格 纯粹用于布局 - 在电子邮件 HTML 和旧网站中仍然常见 - 转换为结构性的东西 有效但语义上无用。<a href>变成[text](url),因此目的地得以生存,而不是 给您留下孤立的锚文本。<code>和<pre>成为反引号和围栏块。这是 开发人员以这种方式转换文档页面的一个最大原因是片段保留片段。<strong>,<em>,<blockquote>映射到他们的 明显的等价物。<script>,<style>,<meta>, 内联style=属性、类名、数据属性——全部被丢弃。都没有幸存下来, 但这些都不应该。
保存的页面与干净的 HTML 不同
人编写的 HTML 文件和浏览器转储的 HTML 文件之间存在真正的区别, 它立即显示在输出中。
手工编写的 HTML — 静态站点导出、文档构建、电子邮件模板、由 一个报告工具——往往是整洁和语义化的。标题就是标题。段落就是段落。这些 几乎完美转换。
现代网站中使用 Ctrl+S 保存的页面是另一种动物。你得到了完整的后 JavaScript DOM 带有粘性标题、相关文章栏、三个新闻通讯提示和一个页脚站点地图 八十个链接。所有这些都是合法的 HTML,因此都可以转换。输出是正确的——刚刚得到 其中的页面家具。两个习惯会有所帮助:使用浏览器的阅读器模式并从中保存,或者转换 首先并在使用之前删除 Markdown 的顶部和底部。略读和修剪需要在 分钟,并显着改善您接下来要做的任何事情。
当文件几乎转换为空时
有时,您会转换已保存的页面并返回标题和两行。这并不是失败 转换器——它是一个单页应用程序。
使用 React、Vue、Angular 等构建的网站通常会提供一个真正空的 HTML shell:
一个 <div id="root"></div> 和一个脚本标签。您在浏览器中看到的内容是
由 JavaScript 在运行时组装,并且从未存在于文件中。根据您的保存方式,您可能
捕获了 shell 而不是渲染的结果。在文本编辑器中打开文件并搜索
你记得读过的一句话——如果它不存在,转换器就无法发明它。
解决方法是保存渲染的 DOM(在 Chrome DevTools 中,右键单击 <html>
节点并将外部 HTML 复制到新文件中),或者完全跳过该文件并使用
Web2Txt,它需要一个实时 URL,加载
页面正确,并返回 Markdown。这种区别值得保留:此页面将
您已有的 HTML 文件,而 Web2Txt 则获取您不获取的页面。
相对链接问题
这一个把人抓走了。链接到的页面 /docs/getting-started 或
../api/reference.html 依赖于浏览器知道它来自哪个域和目录
从。一旦文件离开服务器,该上下文就消失了。转换后的 Markdown 将忠实地
包含 [Getting Started](/docs/getting-started) — 一个现在指向任何地方的链接
特别的。
对于 LLM 工作,这通常并不重要,因为您关心的是散文和链接文本,而不是是否
URL 解析。但是,如果您正在构建打算发布的文档或知识库,
交叉引用需要工作,检查输出并重写路径或删除链接。图片
src 属性也有同样的问题,这就是为什么离线页面的图像往往会通过
作为损坏的参考。
Markdown 或 HTML 文件的纯文本?
当页面结构符合您的要求时,请选择 Markdown。包含代码示例和的文档
标题层次结构。带有编号步骤的教程。围绕表格构建的比较文章。一封电子邮件
带有章节的时事通讯。在所有这些中, # 管道和围栏块是
携带真实的信息,以及 LLM 的 HTML 到 Markdown 转换器 工作流程正在做
正是您想要的。
选择 HTML 到纯文本 当你 只想要单词——构建语料库、提供分类器、为搜索建立索引或运行任何管道 其中语法字符是噪音。此页面顶部有一个格式切换按钮,可以在 两者并携带您选择的文件,因此可以两种方式转换同一页面并比较成本 你一个上传。
人们实际上用这个做什么
- 将文档提供给编码助理。 保存图书馆文档的页面, 将它们转换为 Markdown,并将它们粘贴到您的 GitHub 存储库作为文本。模型看到 API 表面和您对它的使用,以及代码块在两侧都保持完整。
- 迁移站点。 静态站点生成器吃Markdown。转换旧版 HTML 页面 通常是 CMS 迁移中最快的第一步,即使您随后进行了整理。
- 归档文章以供以后分析。 Markdown 文件很小,可比较,并且 grepable 的方式是保存 HTML 的文件夹永远不会的。
- 将电子邮件模板转变为可读内容。 营销 HTML 是一碗汤;的 Markdown 版本是实际消息。
- 构建提示库。 Markdown 中的参考资料直接放入系统中 提示或 RAG 索引,无需进一步处理。
输出下方的令牌计数器是此处的实用位。文档页面看起来很短 一旦包含表格和代码块并且知道数量,浏览器就会变得令人惊讶地沉重 在粘贴之前先找出截断错误。
常见问题解答
如何将 HTML 文件转换为 Markdown?
上传 .html 或 .htm 上面的文件,它返回为 Markdown,可下载为 .md。免费,每个文件 50 MB,无需帐户。标题映射到 # 级别、列表保持嵌套、链接保持其 URL [text](url) 表单和代码块保持隔离。
它会保留链接及其 URL 吗?
是的 - 这是选择 Markdown 的主要原因 纯文本 在这里。每个锚点都会转换为 [label](href),因此目的地得以生存。如果您正在归档文档或审核页面指向的位置,这就是有用记录和释义之间的区别。
我可以转换实时 URL 而不是保存的文件吗?
不是来自此页面。 Web2Txt 获取 URL、获取页面并一步返回 Markdown。此页面适用于您磁盘上已有的 HTML — 保存的文章、导出的新闻通讯、生成的报告或本地构建的输出。
这是将站点迁移到静态生成器的合理方法吗?
对于内容来说,是的。散文、标题、列表、表格和代码块可以清晰地转换,以便提交和编辑。它不会做的是重建您的信息架构、重写到新路径的内部链接或提取前端内容 - 无论您使用哪种转换器,这些都是手动迁移的部分。
表和代码块会发生什么情况?
表变成了管道表,而受隔离的代码块则保持受隔离状态,这两者通常都能很好地保留下来,因为源 HTML 显式地标记了它们。常见的受害者是通过每个标记表达的语法突出显示 <span> 类 - 代码是正确的,但驱动着色的语言提示通常无法恢复,因此如果重要的话请手动将其添加回来。
其他格式和工具
HTML 是其中一种格式 File2Txt 处理——上传任何东西,它就会计算出要做什么。如果您知道自己拥有什么,请直接访问 PDF 至 Markdown, 字到 Markdown, JSON 到 Markdown, 或 XML 到 Markdown。对于表格 出口, CSV 到 Markdown 构建 来自分隔数据的管道表。
对于代码,有 GitHub 到文本转换器, 一个 GitLab 版本,和一个 本地文件夹转换器 从不上传 任何东西。还有一个较长的片段 为法学硕士准备文件 如果您想要一般性参数而不是特定于 HTML 的参数。
Repo2Txt 由以下人员构建和维护 v12hero, 一位独立开发人员,构建隐私优先的本机和网络应用程序。