Comment obtenir une URL à partir de l'attribut href

html-agility-pack vb.net xpath

Question

Je ne peux pas obtenir d'URL d'attributs href. J'utilise ce code

Dim url As String = "http://example.com/"
Dim web As New HtmlWeb()
Dim doc As HtmlDocument = web.Load(url)

For Each item As HtmlNode In doc.DocumentNode.SelectNodes("//a/@href")
    If Not item Is Nothing Then
        Response.Write(item.OuterHtml)
    End If
Next

Mais ça ne marche pas.

Réponse acceptée

href étant un attribut, vous devez le mettre entre crochets []

Rappelez-vous que les attributs sont placés entre crochets lorsque vous effectuez une recherche par eux.

//a[@href]

Dans votre cas, vous devez obtenir tous les //a nœuds, puis vérifier HasAttributes("href") et enfin, obtenir des Attributes("href") .

//a[@href]

Réponse populaire

@Sunil J'ai utilisé cette méthode pour obtenir des vidéos de démonstration de lynda.com mais cela ne fonctionne pas! et il obtient une erreur 403

 HtmlNode videoNode = doc.DocumentNode.SelectSingleNode("//video[@class='player']");
                string firstsLink = videoNode.Attributes["data-src"].Value;
                List<string> secLink = firstsLink.Split(';').ToList();
                videoURL = (secLink[index: 0]); 

https://www.lynda.com/mocha-tutorials/mocha-5-Essential-Training/601820-2.html




Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi
Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi