HtmlAgilityPack raspando "href"

c# html html-agility-pack

Pregunta

Escribí este código:

Advertencia, el enlace al sitio de adultos!

        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;

        } 

Recibí un error cuando intento ejecutar este programa.

Si pongo otras cosas en "var href" por ejemplo:

        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;

        } 

Obtuve el texto interno, y puedo ver allí el enlace "href =" y algunos otros datos.

¡Pero solo necesito el enlace después del href!

Respuesta aceptada

Estás seleccionando elementos div . Un elemento div no puede tener el atributo href Si desea obtener href de etiquetas de anclaje, puede utilizar:

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



Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
¿Es esto KB legal? Sí, aprende por qué
Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
¿Es esto KB legal? Sí, aprende por qué