推荐2个.Net开源Html解析器,方便我们提取网页数据

yumo6664个月前 (06-25)技术文章71

如果我们需要抓取网络上的数据,这时候我们就要写爬虫,这里面就涉及到网页的抓取、以及网页分析与数据提取。

下面推荐2个.Net开源Html解析器,方便用于网络爬虫Html源码的解析、Html源码编辑等场景。

一、AngleSharp

这是一个基于.Net开发的,Html代码解析器,支持通过C#实现类似Jquery的方式来解析Html源码、节点创建、节点删除、节点修改、属性的添加修改等,还支持SVG、XML、MathML等格式,此外还能解析Css。

项目地址:

https://github.com/AngleSharp/AngleSharp

项目特色

1、非常出色的性能;

2、基于.NET Standard 2.0开发,支持跨平台,包括移动平台;

3、扩展性强,可以自己自定义;

4、支持LINQ语法;

5、支持类似Jquery查询功能;

6、表单提交、Http请求等;

7、Api功能符合W3C规范标准。

部分代码示例

Html代码解析

Form表单提交,并获取超链接数量

通过Class选择元素

表格单元格选择

Html元素创建

添加Class

属性操作

二、html-agility-pack

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

  • 强大的容错性:HAP 对于“真实世界”中常见的 HTML 错误非常宽容,能够解析格式不规范的 HTML 文件。
  • DOM 操作:它提供了一个类似 System.Xml 的对象模型,但专门用于 HTML 文档,支持对 HTML 的读写操作。
  • XPath 和 XSLT 支持:用户可以使用 XPath 查询和 XSLT 转换来处理 HTML 数据,但即使不熟悉这些技术,也可以轻松上手。

项目地址:

https://github.com/zzzprojects/html-agility-pack

示例代码

获取指定的网页,并获取所有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);
}

相关文章

自适应响应式汽车配件类网站源码 html5高端大气汽车网站织梦模板

本套织梦模板采用织梦最新内核开发的模板,这款模板使用范围广,不仅仅局限于一类型的企业-汽车配件-汽车类的网站都可以用该模板-你只需要把图片和文章内容换成你的即可.颜色都可以修改,改完让你耳目一新的感觉...

通用的综合大数据数据可视化展示html页面源码

大家好,今天给大家介绍一款,通用的综合大数据数据可视化展示html页面源码(图1)。送给大家哦,获取方式在本文末尾。带区域地图(图2)动态图表(图3)各类统计图数据展示十分丰富(图4)代码完整,需要的...

php宝塔搭建部署实战易优企业官网系统源码

大家好啊,我是测评君,欢迎来到web测评。本期给大家带来一套php开发的易优企业官网系统源码,感兴趣的朋友可以自行下载学习。技术架构PHP7.2 + nginx + mysql5.7 + JS + C...

企业网站定制开发基本流程,手把手教你建站

拥有一个企业网站是迈向互联网的重要一步,企业网站是企业在互联网上展示形象的门户,也是企业进行品牌、产品宣传的重要途径。网站对企业的营销推广来讲也非常重要,因为优秀的网站建设将可以提升企业品牌价值以及为...

IDEA 2021首个大版本发布,Java开发者感动哭了(附新亮点演示)

工欲善其事,必先利其器!就在不久之前,Java领域的开发神器IntelliJ IDEA终于迎来2021年的一个重要的大版本更新:IntelliJ IDEA 2021.1。现如今大量的Java开发者深度...