使用 HtmlAgilityPack 爬網頁資料

      在〈使用 HtmlAgilityPack 爬網頁資料〉中留言功能已關閉

使用 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", "")
print