.Net Core HTML解析利器之HtmlAgilityPack
一 、HtmlAgilityPack简介
这是一个敏捷的HTML解析器,它构建了一个读/写DOM,并支持简单的XPATH或XSLT(实际上,你实际上并不了解XPATH和XSLT来使用它,不必担心)。它是一个.NET代码库,可以让您解析“出网”HTML文件。解析器非常宽容“现实世界”畸形的HTML。对象模型与提出的System.Xml非常相似,但对于HTML文档(或流)来说是非常相似的。
官网地址:http://html-agility-pack.net/
Git地址:https://github.com/zzzprojects/html-agility-pack
NuGet地址 :https://www.nuget.org/packages/HtmlAgilityPack/
命令:
Install-Package HtmlAgilityPack
二、HtmlWeb爬去网页示例:
1.使用Nuget包工具安装
2.解析www.gongjuji.net首页列表项
//操作 逻辑 : //1.获取col-md-4 的div 列表 //2.遍历col获取标题和链接 HtmlWeb web = new HtmlWeb(); HtmlDocument doc = web.Load("http://www.gongjuji.net"); string rowPath = "/html/body/div[2]/div[2]/div"; HtmlNodeCollection cols = doc.DocumentNode.SelectNodes(rowPath); foreach (var item in cols) { //解析 内部的 .thumbnail内容 HtmlNode thumbnail = HtmlNode.CreateNode(item.InnerHtml); //获取h3的内容和a标签 的链接 HtmlNode h3 = thumbnail.SelectSingleNode("//h3"); Console.Write(h3.InnerText + ": "); HtmlNode a = thumbnail.SelectSingleNode("//a"); Console.WriteLine(a.Attributes["href"].Value); }
3.解析结果:
跟多使用相关:
C# HTML解析工具HtmlAgilityPack使用实例(二)--Web页面
C# HTML解析工具HtmlAgilityPack使用实例(一)