• 开源.NET库AngleSharp的特性和用法
  • 发布于 2个月前
  • 101 热度
    0 评论
一.什么是AngleSharp? 

它得名于英语中的 "Angle" 表示角,"Sharp" 表示锋利。这个名字传达了与HTML、SVG 和 MathML中的尖括号 < 和 > 类似的锋利角度的概念。AngleSharp 是一个开源的,免费的.NET 库,支持MIT开源许可协议,它提供了解析基于尖括号的超文本(如 HTML、SVG 和 MathML)的能力。该库还支持对 XML 进行无验证解析。AngleSharp 的一个重要特点是还可以解析 CSS。


内部解析器是基于W3C规范构建的。可以生成一个完全兼容和可移植的HTML5 的DOM表示并与现代浏览器保持一致。可以和DOM进行无缝结合。


二.AngleSharp有哪些特性?
移植性:是符合.NET Standard 2.0 ,因此可以在各种 .NET 平台上运行,例如:.NET Core (2.0和之后版本)  .NET Framework (4.6.1和之后版本),Xamarin.Android (7.0和8.0),Xamarin.iOS (10.0和10.14),Xamarin.Mac (3.0和3.8),Mono (4.6 和5.4),UWP (10.0和10.0.16299),Unity (2018.1)
规范性:符合现代浏览器规范,能够与现代浏览器无缝衔接。
高性能:Parser性能方面更加优秀。
可扩展性:用户可以自定义服务来扩展现有功能。
抽象性:AngleSharp 提供了一些有用的抽象工具,例如类型辅助工具,使得类似于 jQuery 的构建更加便捷。
完全功能的 DOM:提供了DOM文档模型的全功能支持。
表单提交:表单提交更加便捷。
导航:AngleSharp 中的 BrowsingContext 类似于浏览器的标签页,可以从 .NET 控制它。

LINQ :AngleSharp 提供了对 LINQ 的增强支持,可以自然地使用 LINQ 处理 DOM 元素,而不需要额外的包装器


三. 例子
新建Console应用程序命名为AngleSharp.Library.Console,添加如下包:

我们接下来爬取一下维基百科上的内容:

输出结果如下:


用户评论