深入源码,洞察迭代 8 年的 html 文本转换库

背景介绍

在前面 RAG 项目结构化文件解析方案比较 文章中对常见的 html 解析方案进行了比较,发现 html_text + python-readability 可以实现高质量的 html 内容提取。

在前一篇文章 迭代 14 年的高质量 html 提取方案 中对 python-readability 库进行了介绍,这篇文章就对剩下的 html_text 库进行介绍。

html_text 简介

html_text 是一个 html 文本提取库,可以将 html 内容转换为文本内容,但是与常规 html 解析库相比,html_text 转换出的文本更加格式化:

  • 忽略内联样式、javascript、注释和其他用户通常不可见的文本;
  • 空白内容标准化,在内联元素周围添加空格分隔内容;
  • 在合适的位置添加换行符,与浏览器呈现的效果保持一致;

整体而言,html_text 通过补充合适的空格和换行符,将解析出的文本更加接近浏览器呈现的效果。

在之前的测试中,对于下面的文本内容:

请添加图片描述

使用 unstructed 解析出的文本元素内容为:

请添加图片描述

但是 html_text 解析出的文本内容为:

请添加图片描述

这样可以为后续的处理提供一个更准确的文本内容,避免大量碎片化的无意义文本。

实现方案

html_text 库的源码比较精简,核心的代码不到 100 行。在开始介绍实现方案前,可以先大致了解下常规的 html 结构,类似如下所示:

<html>
    <body>
        <p>
            <div>test</div>
        </p>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

易迟

高质量内容创作不易,支持下

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值