html-agility-pack:一个开源 HTML 解析器,并支持纯 XPATH 或 XSLT

90 阅读1分钟

推荐一个.Net开源库,用于HTML 解析,支持 XPath 和 XSLT 查询。

01 项目简介

Html Agility Pack (HAP) 是一个开源的 HTML 解析库。

  • **强大的容错性:**HAP 对于“真实世界”中常见的 HTML 错误非常宽容,能够解析格式不规范的 HTML 文件。

  • **DOM 操作:**它提供了一个类似 System.Xml 的对象模型,但专门用于 HTML 文档,支持对 HTML 的读写操作。

  • **XPath 和 XSLT 支持:**用户可以使用 XPath 查询和 XSLT 转换来处理 HTML 数据,但即使不熟悉这些技术,也可以轻松上手。

02 使用场景

**Web 数据抓取:**HAP 可以轻松解析网页内容,提取所需数据,适用于爬虫开发。

**HTML 编辑:**可以对 HTML 文档进行修改、添加或删除节点等操作。

**HTML 转换:**将 HTML 转换为其他格式(如 XML 或 JSON)。

**HTML 分析:**用于分析 HTML 结构,提取元数据或进行内容验证。

03 使用示例

1、安装依赖库

Install-Package HtmlAgilityPack

2、示例代码

获取指定的网页,并获取所有a标签的文本。

using HtmlAgilityPack;
using System;

// 加载 HTML 文件
HtmlWeb web = new HtmlWeb();
HtmlDocument doc = web.Load("https://www.xxx.com");

// 使用 XPath 查询
var nodes = doc.DocumentNode.SelectNodes("//a");
foreach (var node in nodes)
{
    Console.WriteLine(node.InnerText);
}

04 项目地址

github.com/zzzprojects…

- End -

更多开源项目: github.com/bianchengle…