如何從href屬性獲取URL

html-agility-pack vb.net xpath

我無法從href屬性獲取URL。我用這個代碼

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

但它不起作用。

一般承認的答案

由於href是一個屬性,你需要把它放在方括號[]

記住屬性在您搜索時會進入方括號。

//a[@href]

在你的情況下,你需要得到所有//a節點,然後檢查HasAttributes("href") ,最後得到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

熱門答案

@Sunil我使用這種方法從lynda.com獲取演示視頻,但它不起作用!它得到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



Related

許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow