[C#] 簡單試用 HTML Agility Pack 抓取 Azure 上面的區域跟子區域

2022-12-09

最近在練習寫一些東西,傳統我們寫爬蟲都是使用 httpreuest 抓到原始碼之後

然後再用 Regular Expression 去做,結果同事說有一個套件神器 HTML Agility Pack



這次我們案例就是來抓取這個網址  https://status.azure.com/zh-tw/status

今天先目標不要這麼大,只要列出所有區域跟下面的子區域



1.先下載  HTML Agility Pack 這也很簡單透過 nuget 就可以了 https://www.nuget.org/packages/HtmlAgilityPack/

2.接下來你可以能要先透過瀏覽器按下 F12 看看原始碼,後來發現他的規則 你可以透過 div class 為 zones-tabs 底下的 ul 中的 li 拿到所有的大區域


之後在 li 中的 data-zone-name 屬性中拿到的值 ,之後再透過這個值 假設 americas 之後在 結構中 可以透過 table data-zone-name 下的 thead 中的 th 拿到下面的子分區




result:


這就把事情變得簡單很多,我只是簡單玩一下就上手了,就不用一值透過 regex 來 parse 資料


當麻許的超技八 2014 | Donma Hsu Design.