@broadly/htmlparser2

中文文档
3.9.0发布于 2015/08/20MITCommonJS近 30 天下载 1万

快速原谅 HTML/XML/RSS 解析器( F)

此软件包已被标记为弃用

Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

中文使用文档
文档目录7 节
  1. 安装
  2. 使用量
  3. 文档
  4. 得到一个DOM
  5. 解析 RSS/RDF/Atom 种子
  6. 业绩
  7. 此模块与 节点- htmlparser ? 吗?

htmlparser2 软件

NPM version Downloads Build Status Coverage

允许 HTML/XML/RSS 解析器 。 解析器可以处理流并提供一个回调接口.

安装

npm install htmlparser2

提供 htmlparser2 的活演示 这里。 。 。 .

使用量

var htmlparser = require("htmlparser2");
var parser = new htmlparser.Parser({
    onopentag: function(name, attribs){
        if(name === "script" && attribs.type === "text/javascript"){
            console.log("JS! Hooray!");
        }
    },
    ontext: function(text){
        console.log("-->", text);
    },
    onclosetag: function(tagname){
        if(tagname === "script"){
            console.log("That's it?!");
        }
    }
}, {decodeEntities: true});
parser.write("Xyz <script type='text/javascript'>var foo = '<<bar>>';</ script>");
parser.end();

输出( 简化 ) :

--> Xyz 
JS! Hooray!
--> var foo = '<<bar>>';
That's it?!

文档

更多信息,请访问 维基百科。 。 。 .

得到一个DOM

这个 DomHandler (称为: DefaultHandler 原图 htmlparser 模块)生成一个DOM(文档对象模型),该模型可以使用: DomUtils 帮手.

这个 DomHandler,虽然仍然与本模块捆绑在一起,但被移动到其 自有模块. 查看它以了解更多信息.

解析 RSS/RDF/Atom 种子

new htmlparser.FeedHandler(function(<error> error, <object> feed){
    ...
});

注意: 当所提供的种子处理器为大多数种子工作时, 您可能想要使用 降雨/节食者,测试和积极维护要好得多.

业绩

经过一段时间的人工基准, @AndreasMadsen (英语) 发表他的 htmlparser-benchmark,其中基于现实世界网站的 HTML 参数.

在编写本报告时,所有支持的解析器的最新版本显示以下性能特性: 崔维斯CI (请注意Travis并不保证所有测试的同等条件):

gumbo-parser   : 34.9208 ms/file ± 21.4238
html-parser    : 24.8224 ms/file ± 15.8703
html5          : 419.597 ms/file ± 264.265
htmlparser     : 60.0722 ms/file ± 384.844
htmlparser2-dom: 12.0749 ms/file ± 6.49474
htmlparser2    : 7.49130 ms/file ± 5.74368
hubbub         : 30.4980 ms/file ± 16.4682
libxmljs       : 14.1338 ms/file ± 18.6541
parse5         : 22.0439 ms/file ± 15.3743
sax            : 49.6513 ms/file ± 26.6032

此模块与 节点- htmlparser? 吗?

这是叉子 htmlparser 模块。 主要的区别在于,它只用于节点(它运行在其他平台上,使用 浏览器) (中文(简体) ). htmlparser2 被重写多次,虽然它维持一个兼容 htmlparser 在大多数情况下,项目不再共享任何代码.

解析器现在提供了一个接近的回调接口 萨克斯.js (原目标为: 可读性SAX) (中文(简体) ). 结果,老管家们已经不干了.

这个 DefaultHandler 编辑 RssHandler 重新命名是为了澄清其目的(目的: DomHandler 财务报告和审定财务报表 FeedHandler) (中文(简体) ). 需要时仍可使用旧名称 htmlparser2,您的代码应该像预期的那样工作.

版本与发布记录

@broadly/htmlparser2 共发布 1 个版本,首次发布于 2015/08/20;过去 12 个月发布了 0 个版本。

版本发布日期距今
3.9.0latest2015/08/2011 年前

关于 @broadly/htmlparser2 的常见问题

@broadly/htmlparser2 是什么?

快速原谅 HTML/XML/RSS 解析器( F)注意:该包已被作者标记为弃用——Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

如何安装 @broadly/htmlparser2?

在项目目录运行 npm install @broadly/htmlparser2,或使用 pnpm add / yarn add / bun add。

@broadly/htmlparser2 支持 TypeScript 吗?

该包的 package.json 没有声明类型入口。需要类型提示时,可以在 npm 上查找社区维护的 @types/broadly__htmlparser2 是否存在。

@broadly/htmlparser2 支持 ESM 还是 CommonJS?

以 CommonJS 形式发布,可以直接 require();在 ES Module 项目中也可以用 import 引入(Node.js 会把 module.exports 作为默认导出)。

@broadly/htmlparser2 可以商用吗?

@broadly/htmlparser2 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@broadly/htmlparser2 的下载量有多少?

根据 npm 官方下载统计,@broadly/htmlparser2 在 2026/10/09 – 2026/11/07 这 30 天内被下载 10,237 次,日均约 341 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@broadly/htmlparser2 还在维护吗?

最新版本 3.9.0 发布于 2015/08/20(11 年前);至今共发布 1 个版本,其中过去 12 个月发布了 0 个;首次发布于 2015/08/20。作者已将其标记为弃用,新项目建议寻找替代方案。