傳遞HTML頁面的字符串並使用HtmlAgilityPack進行刮擦

c# html-agility-pack vb.net

為什麼我會收到此錯誤?

htmlDoc.Load(pageSource) “路徑中的非法字符”

pageSource是HTML頁面的字符串變量。我需要將頁面源作為字符串傳遞,而不是作為文件而不是URL。我該怎麼做呢?

Dim ids As New List(Of String)()
Dim pageSource = getHtml(url)

Dim htmlDoc As HtmlDocument = New HtmlDocument()

htmlDoc.OptionFixNestedTags = True


htmlDoc.Load(pageSource)


Dim s As HtmlNodeCollection = htmlDoc.DocumentNode.SelectNodes("//div/@id")

For Each div As HtmlNode In s
    ids.Add(div.Id)
Next

一般承認的答案

使用LoadHtml而不是Load

htmlDoc.LoadHtml(pageSource)

另見來源。




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