使用 Nuget 安裝 HtmlAgilityPack
HtmlAgilityPack 使用 XPath 語法來取得節點資料
/html/div/div[@id='name']
更多 XPath 參考 : http://www.w3school.com.cn/xpath/xpath_syntax.ASP
Chrome Extension 的 XPath Helper 可以找出節點,雖然未必是你要的條件
https://chrome.google.com/webstore/detail/xpath-helper/hgimnogjllphhhkhlmebbmlgjoejdpjl
以博客來的書為例 :
https://www.books.com.tw/products/0010553999
class Program { static void Main(string[] args) { var url = $"https://www.books.com.tw/products/0010553999"; var web = new HtmlWeb(); var doc = web.Load(url); var nameNode = doc.DocumentNode.SelectSingleNode("//h1[@itemprop='name']"); Console.WriteLine(nameNode.InnerText); Console.ReadKey(); } }
執行結果 :
<a> 超連結 如何取得文字 :
Name = htmlNode.InnerText
<a> 超連結 如何取得連結 :
Url = htmlNode.GetAttributeValue("href", "")