.Net Core HTML解析利器之HtmlAgilityPack
阿新 • • 發佈:2017-08-06
安裝 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