2017-12-26 4 views
0

Ich kann keine URLs von href-Attributen abrufen. Ich benutze diesen CodeSo erhalten Sie eine URL aus dem Attribut href

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 

Aber es funktioniert nicht.

Antwort

2

Da href ist ein Attribut, das Sie es in eckigen Klammern müssen []

Denken Sie daran, Attribute gehen in Klammern zum Quadrat, wenn Sie von ihnen suchen.

//a[@href] 

In Ihrem Fall müssen Sie alle //a Knoten erhalten, dann für HasAttributes("href") überprüfen und schließlich bekommen Attributes("href").

For Each item As HtmlNode In doc.DocumentNode.SelectNodes("//a") 
    If Not item Is Nothing And item.HasAttributes("href") Then 
     Response.Write(item.Attributes("href").Value) 
    End If 
Next 
0

@Sunil habe ich diese Methode Demo-Videos von lynda.com zu bekommen, aber es nicht funktioniert! und es wird Fehler 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

Verwandte Themen