使用HtmlAgilityPack从Bing获取href

时间:2017-06-25 09:22:03

标签: html vb.net html-agility-pack bing

使用Bing的此搜索网址:

http://www.bing.com/images/search?scope=images&sp=-1&pq=ferrari&sc=9-3&sk=&cvid=E471F1335E6A48C897DB5CEE745F51E1&q=ferrari&qft=+filterui:imagesize-large&FORM=R5IR3%22

我需要从类中获取,并且只能从类“iusc”获取bing在搜索时返回的每张图片的href属性。

我使用的代码库是:

For Each link As HtmlAgilityPack.HtmlNode In htmlDoc.DocumentNode.SelectNodes("//a[@href]")
debug.Print(link.GetAttributeValue("href", ""))
Next

但它返回“murl”属性,而不是“href”。

如何获得href?

1 个答案:

答案 0 :(得分:1)

问题在于xpath表达式以及从Web加载文档的方式,这导致了一个空文档。试试这个:

Dim website As New HtmlWeb()
Dim doc As HtmlDocument = website.Load(url)
Dim links = doc.DocumentNode.SelectNodes("//a[contains(@class,'iusc')]")
For Each link In links
    Dim href As String = link.GetAttributeValue("href", "")
    Debug.Print(href)
Next

考虑到Debug.Print()根据你配置VS的方式将输出发送到不同的窗口。如果您没有看到任何内容,请调试并检查href值。