溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

如何理解xHTML源碼的DLL組件AngleSharp

發(fā)布時(shí)間:2021-09-16 13:48:52 來源:億速云 閱讀:95 作者:柒染 欄目:開發(fā)技術(shù)

如何理解xHTML源碼的DLL組件AngleSharp,針對(duì)這個(gè)問題,這篇文章詳細(xì)介紹了相對(duì)應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問題的小伙伴找到更簡單易行的方法。

AngleSharp是基于.NET(C#)開發(fā)的專門為解析xHTML源碼的DLL組件。

項(xiàng)目地址:https://github.com/FlorianRappl/AngleSharp

我主要介紹是一些使用AngleSharp常用的方法,跟大家介紹,我會(huì)以億速云站點(diǎn)作為原型。 其它的類似組件有:

國內(nèi):Jumony
github地址: https://github.com/Ivony/Jumony

國外:Html Agility Pack
項(xiàng)目地址:http://htmlagilitypack.codeplex.com/

具體大家可以自行搜索對(duì)比三者的區(qū)別和性能。接下來咱們主要討論主角是AngleSharp

引入AngleSharp至項(xiàng)目,用NuGet工具執(zhí)行命令(其實(shí)我是在裝逼。) Install-Package AngleSharp

在項(xiàng)目中添加引用Using AngleSharp

首先我們獲取CnBlogs首頁的HTML源代碼

static public string GetHtml()
{
  HttpWebRequest myReq =
  (HttpWebRequest)WebRequest.Create("https://www.jb51.net");
  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首頁當(dāng)前所有博客文章的標(biāo)題

private static void Main(string[] args) { //找出所有文章標(biāo)題 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++;
  }
}

以上代碼輸出內(nèi)容:

1:JNDI學(xué)習(xí)總結(jié)(三)——Tomcat下使用Druid配置JNDI數(shù)據(jù)源
2:我們前端是怎么跟設(shè)計(jì)師溝通的
3:MVC5+EF6 入門完整教程六
4:試議常用Javascript 類庫中 throttle 與 debounce 輔助函數(shù)的區(qū)別
5:孤獨(dú)的走過年輕
6:上周熱點(diǎn)回顧(11.10-11.16)
7:Android動(dòng)畫-補(bǔ)間(Tween)動(dòng)畫
8:樸素貝葉斯算法的python實(shí)現(xiàn)
9:MVC三層級(jí)聯(lián)方式
10:C# 標(biāo)簽(條碼)的打印與設(shè)計(jì)(一)
11:OpenCASCADE Make Primitives-Box
12:基于solr實(shí)現(xiàn)hbase的二級(jí)索引
13:(十六)WebGIS中偏移補(bǔ)償量引發(fā)的問題之探討
14:javascript小游戲--生命游戲
15:Android動(dòng)畫-幀動(dòng)畫
16:C# Socket學(xué)習(xí)筆記一
17:lua表排序
18:ZooKeeper系列 第一篇:ZooKeeper快速入門
19:【插件開發(fā)】—— 9 編輯器代碼分塊著色-高亮顯示!
20:華盛頓大學(xué)計(jì)算機(jī)視覺課程筆記(一)

關(guān)于如何理解xHTML源碼的DLL組件AngleSharp問題的解答就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注億速云行業(yè)資訊頻道了解更多相關(guān)知識(shí)。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI