为什么会出现此错误?


  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)


See also the source.

关于c# - 传递HTML页面的字符串并使用HtmlAgilityPack进行抓取,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11589469/

10-13 09:02