解析xHTML源碼的DLL組件AngleSharp介紹
AngleSharp是基于.NET(C#)開發(fā)的專門為解析xHTML源碼的DLL組件。
項目地址:https://github.com/FlorianRappl/AngleSharp
我主要介紹是一些使用AngleSharp常用的方法,跟大家介紹,我會以腳本之家站點作為原型。 其它的類似組件有:
國內:Jumony
github地址: https://github.com/Ivony/Jumony
國外:Html Agility Pack
項目地址:http://htmlagilitypack.codeplex.com/
具體大家可以自行搜索對比三者的區(qū)別和性能。接下來咱們主要討論主角是AngleSharp
引入AngleSharp至項目,用NuGet工具執(zhí)行命令(其實我是在裝逼。) Install-Package AngleSharp
在項目中添加引用Using AngleSharp
首先我們獲取CnBlogs首頁的HTML源代碼
static public string GetHtml()
{
HttpWebRequest myReq =
(HttpWebRequest)WebRequest.Create("http://www.dhdzp.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();
}
獲取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 輔助函數的區(qū)別 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中偏移補償量引發(fā)的問題之探討 14:javascript小游戲--生命游戲 15:Android動畫-幀動畫 16:C# Socket學習筆記一 17:lua表排序 18:ZooKeeper系列 第一篇:ZooKeeper快速入門 19:【插件開發(fā)】—— 9 編輯器代碼分塊著色-高亮顯示! 20:華盛頓大學計算機視覺課程筆記(一)
官方有提供詳細的文檔和例子,大家可以去看一下。此插件最大的優(yōu)勢:支持輸出Javascript、Linq語法、ID和Class選擇器、動態(tài)添加節(jié)點。實為.NET開發(fā)之利器。
AngleSharp文檔:https://github.com/FlorianRappl/AngleSharp/wiki/Documentation
AngleSharp例子(Demo):https://github.com/FlorianRappl/AngleSharp/wiki/Examples
相關文章
asp.net通過js實現Cookie創(chuàng)建以及清除Cookie數組的代碼
asp.net Cookie創(chuàng)建以及清除Cookie數組2010-03-03
ASP.NET中用js取CheckBoxList中值的方法實例
用腳本取CheckBoxList中的值,并用"|"將其分開,之后將取到的值放入文本框,返回數據庫做添加或者修改2013-07-07
asp.net BasePage類+Session通用用戶登錄權限控制
判斷用戶是否登錄,常用的方法就是通過Session來控制。2010-05-05
利用FastReport傳遞圖片參數在報表上展示簽名信息的實現方法
這篇文章主要介紹了利用FastReport傳遞圖片參數在報表上展示簽名信息,其中主要注意的是,我們傳遞的圖片數據需要采用Base64String的格式才能正常傳遞和展示,本文通過圖文實例代碼相結合給大家介紹的非常詳細,需要的朋友可以參考下2022-10-10
ASP.NET Core依賴注入系列教程之控制反轉(IoC)
這篇文章主要給大家介紹了關于ASP.NET Core依賴注入系列教程之控制反轉(IoC)的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2018-11-11
ScriptManager.RegisterStartupScript()方法在ajax頁面無效的解決方法
ScriptManager.RegisterStartupScript()方法在ajax頁面無效的解決方法2010-03-03

