<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          .NET使用AngleSharp抓取網(wǎng)站信息,超簡(jiǎn)單

          共 2087字,需瀏覽 5分鐘

           ·

          2024-04-11 11:50

          前言

              最近小編接到一個(gè)抓取全國(guó)地區(qū)的任務(wù),在Github找到了一個(gè)開源工具AngleSharp。AngleSharp 是一個(gè)強(qiáng)大的 .NET 庫(kù),它為我們提供了一種方便且靈活的方式來(lái)處理 HTML 和 XML 文檔。在這篇文章中,我們將使用 AngleSharp 來(lái)抓取全國(guó)地區(qū)的信息。

          準(zhǔn)備工作

              首先,我們用Visual Studio 新建一個(gè)控制臺(tái)程序,并安裝 AngleSharp。可以通過(guò) NuGet 包管理器控制臺(tái)或 Visual Studio 的包管理器來(lái)安裝 AngleSharp:

                
                  Install-Package AngleSharp
                
              

          編寫抓取代碼

              接下來(lái),我們將編寫一個(gè)簡(jiǎn)單的 C# 程序,使用 AngleSharp 抓取地區(qū)網(wǎng)站信息。我們找到民政局全國(guó)區(qū)域的網(wǎng)站,循環(huán)分級(jí)提取地區(qū)的信息。示例代碼如下:

                
                  using AngleSharp;
                
                
                  using AngleSharp.Html.Dom;
                
                
                  
                    
          //民政局網(wǎng)站地區(qū)網(wǎng)址 var url = "http://www.stats.gov.cn/sj/tjbz/tjyqhdmhcxhfdm/2022/index.html"; var context = BrowsingContext.New(Configuration.Default.WithDefaultLoader());
          // 異步打開指定的URL,并獲取返回的文檔對(duì)象 var dom = context.OpenAsync(url).Result;
          // 使用 CSS 選擇器選擇表格中的所有省級(jí)行的超鏈接元素 var itemList = dom.QuerySelectorAll("table.provincetable tr.provincetr td a");
          // 遍歷每個(gè)超鏈接元素 foreach (IHtmlAnchorElement item in itemList) { // 輸出地區(qū)的文本內(nèi)容 Console.WriteLine("地區(qū):" + item.TextContent);
              // 輸出下級(jí)鏈接的地址,便于繼續(xù)循環(huán)下級(jí)。 Console.WriteLine("下級(jí)鏈接:" + item.Href); }

          打印出來(lái)的效果如下:

          5f00cae577fc66ff641ed4f42312caa1.webp

          上面代碼AngleSharp成功抓取了所要的地區(qū)。它的優(yōu)點(diǎn)是可以用CSS選擇器來(lái)獲取元素,減少了代碼的使用量及整潔度。

          結(jié)語(yǔ)

              AngleSharp抓取網(wǎng)頁(yè)只是其中的一項(xiàng),它提供了一個(gè)強(qiáng)大而靈活的工具集,使開發(fā)人員能夠以 .NET 平臺(tái)為基礎(chǔ)構(gòu)建各種 Web 相關(guān)應(yīng)用。通過(guò)使用 AngleSharp,開發(fā)人員可以輕松地處理 Web 內(nèi)容,從而更高效地開發(fā)和維護(hù)其應(yīng)用程序。

          git地址:github.com/AngleSharp/AngleSharp


              

          關(guān)注公眾號(hào)DotNet開發(fā)跳槽?    

          瀏覽 38
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  韩国免费一区二区三区 | 中文字幕乱伦 | 波多野结衣中文字幕久久 | 国产精品久久久久久久免牛肉蒲 | 给我下载一个三级片黄色录像毛片 |