HtmlAgilityPack抓“href”

c# html html-agility-pack

我寫了這段代碼:

警告,鏈接指向成人網站!

        var getHtmlWeb = new HtmlWeb();
        var document = getHtmlWeb.Load("http://xhamster.com/movies/2808613/jewel_is_a_sexy_cougar_who_loves_to_fuck_lucky_younger_guys.html");
        var aTags = document.DocumentNode.SelectNodes("//div[contains(@class,'noFlash')]"); 


        if (aTags != null)

        foreach (var aTag in aTags)
        {

            var href = aTag.Attributes["href"].Value;

            textBox2.Text = href;

        } 

我嘗試運行此程序時出錯。

如果我把其他東西放在“var href”例如:

var href = aTag.InnerHtml

我得到了內部文本,我可以看到“href =”鏈接和其他一些數據。

但我只需要href之後的鏈接!

一般承認的答案

您正在選擇div元素。 div元素不能有href屬性。如果你想獲得href的錨標籤你可以使用:

var hrefs = aTags.Descendants("a")
           .Select(node => node.GetAttributeValue("href","")) 
           .ToList();


Related

許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因
許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因