首页 > 学院 > 开发设计 > 正文

解析HTML利器AngleSharp介绍

2019-11-17 02:45:34
字体:
来源:转载
供稿:网友

解析HTML利器AngleSharp介绍

解析HTML利器AngleSharp介绍

AngleSharp是基于.NET(C#)开发的专门为解析xHTML源码的DLL组件

项目地址:https://github.com/FlorianRappl/AngleSharp

我主要介绍是一些使用AngleSharp常用的方法,跟大家介绍,我会以http://www.VEVb.com站点作为原型。 其它的类似组件有:国内:Jumony github地址:https://github.com/Ivony/Jumony作者Blog地址:http://www.VEVb.com/Ivony/国外:Html Agility Pack 项目地址:http://htmlagilitypack.codeplex.com/具体大家可以自行搜索对比三者的区别和性能。接下来咱们主要讨论主角是AngleSharp

  • 引入AngleSharp至项目,用NuGet工具执行命令(其实我是在装逼。)Install-Package AngleSharp

  • 在项目中添加引用Using AngleSharp

  • 首先我们获取CnBlogs首页的HTML源代码

    static public string GetHtml(){    HttpWebRequest myReq =    (HttpWebRequest)WebRequest.Create("http://www.VEVb.com");    HttpWebResponse response = (HttpWebResponse)myReq.GetResponse();    // Get the stream associated with the response.    Stream receiveStream = response.GetResponseStream();    // Pipes the stream to a higher level stream reader with the required encoding format.     StreamReader readStream = new StreamReader(receiveStream, Encoding.UTF8);    return readStream.ReadToEnd();}
  • 获取Cnblogs首页当前所有博客文章的标题

    PRivate static void Main(string[] args) { //找出所有文章标题 string VEVbHtml = GetHtml();

        //加载HTML    var document = DocumentBuilder.Html(VEVbHtml);    //这里必须要使用== 不能使用Equals    var titleItemList = document.All.Where(m => m.ClassName == "titlelnk");    int iIndex = 1;    foreach (var element in titleItemList)    {        Console.WriteLine(iIndex + ":" + element.InnerHtml);        iIndex++;    }}

    以上代码输出内容: 1:JNDI学习总结(三)——Tomcat下使用Druid配置JNDI数据源2:我们前端是怎么跟设计师沟通的3:MVC5+EF6 入门完整教程六4:试议常用javascript 类库中 throttle 与 debounce 辅助函数的区别5:孤独的走过年轻6:上周热点回顾(11.10-11.16)7:Android动画-补间(Tween)动画8:朴素贝叶斯算法的python实现9:MVC三层级联方式10:C# 标签(条码)的打印与设计(一)11:OpenCASCADE Make Primitives-Box12:基于solr实现hbase的二级索引13:(十六)WebGIS中偏移补偿量引发的问题之探讨14:Javascript游戏--生命游戏15:Android动画-帧动画16:C# Socket学习笔记一17:lua表排序18:ZooKeeper系列 第一篇:ZooKeeper快速入门19:【插件开发】—— 9 编辑器代码分块着色-高亮显示!20:华盛顿大学计算机视觉课程笔记(一)

官方有提供详细的文档和例子,大家可以去看一下。此插件最大的优势:支持输出JavascriptLinq语法、IDClass选择器、动态添加节点。实为.NET开发之利器。

AngleSharp文档:https://github.com/FlorianRappl/AngleSharp/wiki/DocumentationAngleSharp例子(Demo):https://github.com/FlorianRappl/AngleSharp/wiki/Examples


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表