解析xHTML源码的DLL组件AngleSharp介绍
前端 / 管理员 发布于 6年前 251
AngleSharp是基于.NET(C#)开发的专门为解析xHTML源码的DLL组件。
项目地址:https://github.com/FlorianRappl/AngleSharp
我主要介绍是一些使用AngleSharp常用的方法,跟大家介绍,我会以AIDI站点作为原型。 其它的类似组件有:
国内:Jumony
github地址: https://github.com/Ivony/Jumony
国外: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(""); 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();}
获取jb51首页当前所有博客文章的标题
private static void Main(string[] args) { //找出所有文章标题 string cnblogsHtml = GetHtml(); //加载HTML var document = DocumentBuilder.Html(cnblogsHtml); //这里必须要使用== 不能使用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:华盛顿大学计算机视觉课程笔记(一)
官方有提供详细的文档和例子,大家可以去看一下。此插件最大的优势:支持输出Javascript、Linq语法、ID和Class选择器、动态添加节点。实为.NET开发之利器。
AngleSharp文档:https://github.com/FlorianRappl/AngleSharp/wiki/Documentation
AngleSharp例子(Demo):https://github.com/FlorianRappl/AngleSharp/wiki/Examples
122 在
学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..123 在
Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..原梓番博客 在
在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..博主 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..1111 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
Copyright·© 2019 侯体宗版权所有·
粤ICP备20027696号