2017-06-25 1 views
1

En utilisant cette URL de recherche pour Bing:Obtenir href de Bing en utilisant HtmlAgilityPack

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

Je dois obtenir, de la classe, et seulement de la classe « IUSC » l'attribut href pour chaque image renvoyée par bing sur la recherche.

La base de code que j'utilise est ceci:

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

Mais il renvoie le "Murl" attribut, pas le "href".

Comment obtenir le href alors?

+0

Si vous avez une nouvelle question s'il vous plaît [ask] (https://stackoverflow.com/questions/ask). Ne mettez pas à jour votre question existante avec de nouvelles questions. Cela crée juste du bruit et de la confusion. – Bugs

Répondre

1

Le problème était que xpath expression et aussi la façon dont le document est chargé à partir du Web qui résulte en un document vide. Essayez ceci:

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 

Prenez en compte que Debug.Print() envoyer la sortie à différentes fenêtres en fonction de la façon dont vous avez configuré VS. Si vous ne voyez rien, veuillez déboguer et inspecter la valeur de href.

+0

Merci beaucoup pour votre réponse. "// a [@href]" et "// a/@ href" donnent le même résultat, c'est-à-dire une liste avec l'attribut "murl". Et l'utilisation de "// a [contains (@ class, 'iusc')]" donne une erreur ... Je suis perdu. – SomeOneMore

+0

quelle erreur obtenez-vous? – derloopkat

+0

"Référence d'objet non définie sur une instance d'un objet". sur cette ligne: Pour chaque lien comme HtmlAgilityPack.HtmlNode Dans htmlDoc.DocumentNode.SelectNodes ("// a [contains (@class," "iusc" ")]") – SomeOneMore