# @broadly/htmlparser2 中文文档

规范地址：https://npmcn.com/package/%40broadly/htmlparser2/

版本：3\.9\.0
npm 元数据更新时间：2026-06-15T22:24:47.531Z
中文译文更新时间：2026-11-08T15:49:26.762Z
软件包许可：MIT

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40broadly/htmlparser2
原文对照：https://npmcn.com/package/%40broadly/htmlparser2/?lang=original
项目主页：https://github.com/fb55/htmlparser2#readme
源码仓库：https://github.com/fb55/htmlparser2

弃用说明：Package no longer supported\. Contact Support at https://www\.npmjs\.com/support for more info\.

## 关键信息（来自 npm 元数据）

- 模块格式：CommonJS
- TypeScript 类型：未声明
- 运行依赖：5 个
- 首次发布：2015-08-19T19:13:18.657Z
- 最新版本发布：2015-08-19T19:13:18.657Z
- 近 30 天下载量：10237（2026-10-09 至 2026-11-07，npm 官方下载统计）
- 已发布版本数：1（近 12 个月 0 个）

## 中文简介

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

## 安装

```sh
npm install @broadly/htmlparser2
```

也可以使用：`pnpm add @broadly/htmlparser2`、`yarn add @broadly/htmlparser2`、`bun add @broadly/htmlparser2`

## README

# htmlparser2 软件

[![NPM version](http://img.shields.io/npm/v/htmlparser2.svg?style=flat)](https://npmjs.org/package/htmlparser2) [![Downloads](https://img.shields.io/npm/dm/htmlparser2.svg?style=flat)](https://npmjs.org/package/htmlparser2) [![Build Status](http://img.shields.io/travis/fb55/htmlparser2/master.svg?style=flat)](http://travis-ci.org/fb55/htmlparser2) [![Coverage](http://img.shields.io/coveralls/fb55/htmlparser2.svg?style=flat)](https://coveralls.io/r/fb55/htmlparser2)

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

## 安装

```
npm install htmlparser2
```

提供 htmlparser2 的活演示 [这里](http://demos.forbeslindesay.co.uk/htmlparser2/)。 。 。 .

## 使用量

```javascript
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();
```

输出( 简化 ) :

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

## 文档

更多信息,请访问 [维基百科](https://github.com/fb55/htmlparser2/wiki/Parser-options)。 。 。 .

## 得到一个DOM

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

这个 `DomHandler`,虽然仍然与本模块捆绑在一起,但被移动到其 [自有模块](https://github.com/fb55/domhandler). 查看它以了解更多信息.

## 解析 RSS/RDF/Atom 种子

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

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

## 业绩

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

在编写本报告时,所有支持的解析器的最新版本显示以下性能特性: [崔维斯CI](https://travis-ci.org/AndreasMadsen/htmlparser-benchmark/builds/10805007) (请注意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](https://github.com/tautologistics/node-htmlparser)? 吗?

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

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

这个 `DefaultHandler` 编辑 `RssHandler` 重新命名是为了澄清其目的(目的: `DomHandler` 财务报告和审定财务报表 `FeedHandler`) (中文(简体) ). 需要时仍可使用旧名称 `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。作者已将其标记为弃用，新项目建议寻找替代方案。

