2016-09-13 1 views
0

Ich muss von jedem Profil href Link kratzen:Scrape Links mit HtmlAgilityPack

<div class="avatar" style="height:85px; float: left; margin: 7px 0 7px 14px;"> 
     <span style="font-size: 8px">04.09.16 10:22:42</span> 
     <br> 
     <a href="/Profile/user_3383.html" alt="example" title="example"> 

    <img src="http://example.com/noimg.gif" alt="example" class="avatar"> 
     exampleNick 
     </a> 
    </div> 

Deshalb möchte ich bekommen: /Profile/user_3383.html

Was ich ist geschafft:

HtmlUsers.LoadHtml(getRequest("http://example.com/users.html", cookieJar(30))) 

       Dim getLink = HtmlUsers.DocumentNode.SelectNodes("//div[@class='avatar']/a/@href") 

       For Each profileLink As HtmlAgilityPack.HtmlNode In getLink 
        ListBox11.Items.Add(profileLink.InnerHtml) 
       Next 

Aber was ich Get ist:

<img src="http://example.com/noimg.gif" alt="example" class="avatar"> exampleNick 

Haben Sie irgendwelche Ideen warum es mir nicht Profil href gibt?

Antwort

0

Sie können die <a> Elemente wählen Sie zuerst, und dann href Attribut von jedem <a> zum ListBox hinzufügen:

Dim getLink = HtmlUsers.DocumentNode.SelectNodes("//div[@class='avatar']/a[@href]") 

For Each profileLink As HtmlAgilityPack.HtmlNode In getLink 
    ListBox11.Items.Add(profileLink.GetAttributeValue("href", "")) 
Next 
+0

Danke, es funktioniert. Mein Code war intuitiv, und ich verstehe es immer noch nicht, warum es nicht funktioniert hat. Es funktionierte ordnungsgemäß mit der Verwendung dieser Website: http://videlibri.sourceforge.net/cgi-bin/xxidelcgi –