免费在线将 HTML 转换为 文字

免费在线将 HTML 文件转换为 文字。上传后立即获得干净、适合 LLM 使用的结果。无需注册,单个文件最大 50 MB,不会存储文件。

HTML 到文本:从网页文件中获取文字

有时您不需要文档。你想要一堵句子墙。分类器、语料库的训练数据 对于主题建模、嵌入索引的块、将忽略格式的摘要器的输入 无论如何——在所有这些中,每一个 #|** 是一个字符 让你付出一些代价却什么也买不到。

这就是此页面的用途。放入一个 .html.htm 文件,你会得到 可读的散文,没有标记——没有标签,没有属性,没有语法。免费,无需注册,50 MB 限制, 并且该文件之后不会存储在任何地方。如果您希望保留标题层次结构和表格, HTML 到 Markdown 是兄弟姐妹 页面,上面的格式切换会将您的文件传送到该页面,而无需重新上传。

“剥离标签”实际上必须做对什么

天真地删除尖括号之间的所有内容都会产生垃圾,并且值得理解为什么 - 这就是可用文本和混乱文本之间的区别。

HTML有块元素和内联元素,它们需要相反的处理。当一个 </p> 关闭,下一个 <p> 打开,这是一个段落边界 需要成为换行符。当一个 </strong> 句子中间结束,这不是 根本没有边界——在那里插入换行符会将句子切成两半。如果弄错了,你就结束了 上面有文字 the quick brown fox 由于有人加粗,因此以四行单独的行形式出现 两个词。

工作的另一半是空白。当以下情况时,HTML 将连续的空格、制表符和换行符折叠为一个: 它会渲染,因此带有缩进的漂亮打印源包含大量空白 这本来就不应该是可见的。一个适当的 HTML 到文本 转换同样会折叠它 浏览器的方式,这就是为什么输出读起来像页面而不是文件的原因。 列表项有自己的行, <br> 变成中断,表格单元格被分开 而不是挤在一起。

实体、智能引号和神秘字符

HTML 对某些字符进行编码,这样它们就不会与标记发生冲突。 &amp; 是一个 和符号。 &lt; 是一个小于号。 &nbsp; 是一个不间断的空格, &#8217; 是一个大写撇号, &mdash; 是一个破折号。在浏览器中你 你永远不会看到代码——你看到的是字符。

在提取的文本中,未解码的实体是毒药。标记器处理 &#8217; 作为几个 噪音标记,关键字匹配失败 don&#8217;t,以及任何下游字符串 比较悄然打破。所以实体在出去的时候就被解码了。不间断空格是一种偷偷摸摸的空格 特别是因为它们看起来与屏幕上的正常空间相同,但每一个都失败了 split(" ") 你写;它们在这里作为真实的空间出现。

编码也值得一看。大多数现代文件都声明 <meta charset="utf-8">,但是 较旧的页面和 CMS 导出有时是伪装的 Latin-1 或 Windows-1252。如果你的输出有 ’ 撇号应该在的地方,源文件对其编码撒了谎——将其重新另存为 来自文本编辑器的 UTF-8 并再次转换。

从来不应该被阅读的文本

页面包含的单词比它显示的要多,其中一些在提取中出现:

  • 导航和页脚文本。 菜单标签、面包屑路径、“返回顶部”、 底部有八十个链接的站点地图。合法的文本,在语义上毫无价值。关于已保存的新闻文章 这可能比文章本身更重要。
  • Cookie 横幅和同意书副本。 出现在的两百字的法律样板 您从该域保存的每个页面 - 这意味着如果您正在构建语料库,您将要 重复它们一千次。
  • Alt 文本和 ARIA 标签。 有时很有价值(图表的替代文本可能是唯一的 数据描述),有时只是“图像”重复四十次。
  • 隐藏元素。 仅限屏幕阅读器的跨度、折叠的手风琴面板以及 <noscript> 后备都包含源中的真实文本,即使您从未见过 他们渲染了。

如果来源很重要,最佳实践:从浏览器的阅读器模式保存页面,这会丢弃大部分内容 在家具到达文件之前。否则,转换然后修剪头部和尾部 输出。一旦你知道要寻找重复的样板文件,就很容易发现它,并且将其删除是最好的 您将在整个管道上花费宝贵的一分钟。

为什么纯文本在 NLP 工作中胜过 Markdown

这不仅仅是“Markdown,而是更简单”——对于很多管道来说,纯文本是正确的选择, Markdown 更糟。

  • 嵌入。 嵌入模型会对您提供的任何内容进行编码,包括语法。管材 字符和标题哈希会在不增加意义的情况下移动向量,并且它们会侵蚀模型的 输入限制。干净的散文嵌入得更干净。
  • 分类器和主题模型。 词袋和 TF-IDF 方法处理 **word**word 作为不同的标记,除非您预先清洁。跳过 完全有问题。
  • 搜索索引。 大多数索引管道都需要句子。喂它们 Markdown 意味着 编写您不需要的剥离步骤。
  • 句子分割。 像 spaCy 或 NLTK 这样的拆分器适用于散文。表语法 使它们产生碎片。
  • 代币预算。 在长页面上,删除标记会有意义地减少令牌计数 — 输出下方的计数器准确显示了多少,并在相同的位置上比较两种格式 文件是一个一键实验。

您拥有的文件与您没有的页面

该工具可转换您上传的 HTML 文件。它不会去获取 URL。这种区别更重要 比看起来要好,因为这两种情况以不同的方式失败。

如果您的文件来自 JavaScript 密集型网站上浏览器的“另存为”,则它可能几乎不包含任何文本 - 只是一个空容器 div 和一个捆绑脚本,实际内容已在运行时生成 并且从未写入磁盘。你会得到一个几乎为空的结果,看起来转换器坏了。它 没有;这些词不在文件中。在来源中搜索您记得确认的句子。

当发生这种情况时,使用 Web2Txt 相反—— 它采用实时 URL、呈现页面并从结果中提取。当您已经拥有时使用此页面 文件:电子邮件导出、文档构建、CMS 转储、生成为 HTML 的报告、存档的 几年前的页面。

典型工作

  • 建立培训或评估语料库 从存档页面的文件夹中,您可以在其中 希望在数千个文档中提供原始的散文和一致的格式。
  • 可读性和内容审核 — 字数、阅读水平、关键词频率。所有的 这些需要没有标记扭曲数字的文本。
  • 通过管道传输到脚本中。 纯文本进入 grep, wc, 一个 diff,或者是没有任何转义戏剧性的Python单行代码。
  • 总结一下很长的一页 你不关心结构而宁愿花钱 内容上的标记。
  • 从 HTML 文件中提取文本 对于翻译或转录工作,其中 翻译者想要的是句子,而不是别的。

常见问题解答

如何将 HTML 文件转换为文本?

放下 .html.htm 上面的文件和可读文本返回,每个标签、脚本和样式块都被删除。免费,无需注册,每个文件 50 MB。下载为 .txt 或者直接将其复制到任何需要文字而不是标记的地方。

我可以通过粘贴 URL 来转换实时网页吗?

不在本页上 - 该文件需要您已有的文件。对于一个网址, Web2Txt 获取页面并直接提取它,这节省了“保存然后上传”的往返过程。将此页面用于您之前保存的页面、导出的电子邮件正文或由本地内容生成的 HTML。

它会删除导航、广告和 cookie 横幅吗?

样板文件是一种已知的危险,而不是一个已解决的问题。脚本、样式和标签始终不变;侧边栏或 cookie 通知是否算作内容是一个判断调用,保存的页面在同一个 DOM 中携带所有内容。浏览输出的顶部和底部——这是导航碎片收集的地方。

页面中的链接会发生什么情况?

锚文本会像文字一样保留下来,而其后面的 URL 却不会。 “请参阅安装指南”这句话会准确地转换为该内容,但没有指示它指向的位置。如果目的地很重要 - 构建链接映射、检查出站引用 - 使用 HTML 到 Markdown,它将 href 保留在括号语法中。

为什么我的输出充满空行和杂散字符?

通常,保存完整 DOM 的页面 - 隐藏的模板块、JSON-LD 有效负载、内联 SVG 和分析片段都位于该标记中,并且都包含某种文本。一旦您发现重复模式,单行正则表达式就会清除它,或者使用浏览器的阅读器视图重新保存页面并进行转换。

套房的其余部分

File2Txt 处理每一个支持的 如果您不想选择,可以从一个上传框选择一种格式。或者直接去: PDF 转文本 对于文件, 文字到文字 对于 DOCX, EPUB 转文本 对于电子书,以及 CSV 到文本 对于分隔数据。

使用代码?的 GitHub 到文本转换器, 的 GitLab 转换器本地目录转换器 将整体压平 项目到一个文件中。并且 本指南 涵盖了为 LLM 准备文档的更广泛问题。

Repo2Txt 由以下人员构建和维护 v12hero, 一位独立开发人员,构建隐私优先的本机和网络应用程序。