1. 程式人生 > >.Net Core HTML解析利器之HtmlAgilityPack

.Net Core HTML解析利器之HtmlAgilityPack

安裝 document doc -a tails target 文件 ext detail

一 、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使用實例(一)

C# HTML解析工具HtmlAgilityPack使用簡介

C# HTML解析工具HtmlAgilityPack XPath 模糊查詢not()函數和contains()函數

.Net Core HTML解析利器之HtmlAgilityPack