解析HTML利器AngleSharp介绍
解析HTML利器AngleSharp介绍
AngleSharp是基于.NET(C#)开发的专门为解析xHTML源码的DLL组件。
项目地址:https://github.com/FlorianRappl/AngleSharp
我主要介绍是一些使用AngleSharp常用的方法,跟大家介绍,我会以http://www.cnblogs.com站点作为原型。 其它的类似组件有:
国内:Jumony
github地址:https://github.com/Ivony/Jumony
作者Blog地址:http://www.cnblogs.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.cnblogs.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 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-Box
12:基于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
解析HTML利器AngleSharp介绍的更多相关文章
- web前端自动化测试/爬虫利器puppeteer介绍
web前端自动化测试/爬虫利器puppeteer介绍 Intro Chrome59(linux.macos). Chrome60(windows)之后,Chrome自带headless(无界面)模式很 ...
- Python 爬虫利器 Selenium 介绍
Python 爬虫利器 Selenium 介绍 转 https://mp.weixin.qq.com/s/YJGjZkUejEos_yJ1ukp5kw 前面几节,我们学习了用 requests 构造页 ...
- IO模式调查利器blkiomon介绍
本文链接地址: IO模式调查利器blkiomon介绍 blkiomon 是blktrace工具包带的一个方便用户了解IO情况的工具, 由于blktrace太专业,需要了解的IO协议栈的东西太多,blk ...
- Web调试利器fiddler介绍
转载:http://blog.chinaunix.net/uid-27105712-id-3738821.html 最近在使用fiddler,发现这个真是非常最犀利的web调试工具,笔者这里强烈推荐给 ...
- 黄聪:C#类似Jquery的html解析类HtmlAgilityPack基础类介绍及运用
Html Agility Pack下载地址:http://htmlagilitypack.codeplex.com/ Html Agility Pack 源码中的类大概有28个左右,其实不算一个很复杂 ...
- 【转】C#类似Jquery的html解析类HtmlAgilityPack基础类介绍及运用
Html Agility Pack下载地址:http://htmlagilitypack.codeplex.com/ Html Agility Pack 源码中的类大概有28个左右,其实不算一个很复杂 ...
- C#解析HTML利器-Html Agility Pack
今天刚开始做毕设....好吧,的确有点晚.我的毕设设计需要爬取豆瓣的电影推荐,于是就需要解析爬取下来的html,之前用Python玩过解析,但目前我使用的是C#,我觉得C#不比python差,有微软大 ...
- Java上的jQuery?解析HTML利器—Jsoup
也许大家有过在java运行平台上解析html的经历,通常的方式是将HTML以XML的形式进行结点解析,调用java本身的xml解析类库.这样的方式很容易理解并且很方便,但习惯用jQuery的各位是否在 ...
- iOS-数据解析XML解析的多种平台介绍
在iPhone开发中,XML的解析有很多选择,iOS SDK提供了NSXMLParser和libxml2两个类库,另外还有很多第三方类库可选,例如TBXML.TouchXML.KissXML.Tiny ...
随机推荐
- python图片黑白化
#!/usr/bin/env python #-*- coding:utf-8 -*- from PIL import Image im = Image.open(r"C:\Users\wa ...
- 漫谈C++:良好的编程习惯与编程要点(转载)
这个博主写的文章真是细腻,全面,严谨,应当多读几回 原文http://www.cnblogs.com/QG-whz/p/5517643.html 阅读目录 以良好的方式编写C++ class Clas ...
- MySQL:数据库入门篇1
1,什么是数据库?——存储数据的仓库 数据库技术是计算机应用领域中非常重要的技术,它产生于20世纪60年代末,是数据管理的最新技术,也是软件技术的一个重要分支. 简单的说,数据库就是一个存放数据的仓库 ...
- 如何使用MiniProfiler(附最新版MiniProfiler使用心得)
MiniProfiler这个工具早就久仰大名,不过之前一直没有动力去用,正好最近手上有个ASP.NET MVC的项目,正好拿来试试手,下面是使用最新的4.0.138版本的心得体会以及踩到一些小坑的解决 ...
- 【转】不错的linux下通用的java程序启动脚本
虽然写起动shell的频率非常不高...但是每次要写都要对付一大堆的jar文件路径,新加jar包也必须要修改起动shell. 在网上找到一个挺好的通用shell脚本. 只需要修改一些配置变量,就可以用 ...
- Android学习笔记_25_多媒体之在线播放器
一.布局文件: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:andr ...
- HDU 1180 诡异的楼梯(超级经典的bfs之一,需多回顾)
传送门: http://acm.hdu.edu.cn/showproblem.php?pid=1180 诡异的楼梯 Time Limit: 2000/1000 MS (Java/Others) ...
- html基础用法(上)
html的定义: html超文本标记语言,标准通用标记语言下的一个应用. “超文本”就是指页面内可以包含图片,链接,甚至音乐,程序等非文字语言. 超文本标记语言的结构包括“头”部分(head),和“主 ...
- UIImagePickerController获取照片的实现,添加overlay方法 (相机取景框)
DEVELOPER.XIAOYAOLI 技术笔记 简单的利用UIImagePickerController调用iPhone摄像头获取照片的方法,同时介绍了怎么添加overlay,用于自定义预览界面 ...
- 打造开源GIS方案
现在GIS用途较多,最近要有所接触,所以决定自己打造一个已经又的方案.均以Java作为开发 二位地图:客户端:geotools,swing,geoserver; web:openlayer,geose ...