Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Visual Basic 6 - Come prelevare link da pagina web?
Forum - Visual Basic 6 - Come prelevare link da pagina web? - Pagina 2

Pagine: [ 1 2 3 ] Precedente | Prossimo
Avatar
ampeg (Normal User)
Pro


Messaggi: 124
Iscritto: 21/04/2011

Segnala al moderatore
Postato alle 13:10
Sabato, 07/01/2012
perfetto, infatti non c'è bisogno di importare la COM


aggiungo anche altre informazioni utili che si possono ottenere


Codice sorgente - presumibilmente Visual Basic 6

  1. ListBox1.Items.Add(he.GetAttribute("href")) 'stringa del link
  2.  
  3. ListBox1.Items.Add(he.GetAttribute("innertext")) 'stringa del testo associato al link
  4.  
  5. ListBox1.Items.Add(he.GetAttribute("hostname")) 'stringa del solo host relativo al link




PM Quote
Avatar
bibimeravilla96 (Normal User)
Pro


Messaggi: 79
Iscritto: 02/01/2012

Segnala al moderatore
Postato alle 13:14
Sabato, 07/01/2012
Ok, ho provato il codice di ampeg ed è perfetto funziona :rofl: ma se voglio far si che mi cerchi solo determinati link???

PM Quote
Avatar
ampeg (Normal User)
Pro


Messaggi: 124
Iscritto: 21/04/2011

Segnala al moderatore
Postato alle 13:36
Sabato, 07/01/2012
per ottenere solo determinati link devi filtrare il risultato che hai ottenuto attraverso il confronto tra stringhe e altre operazioni sulle stringhe


http://msdn.microsoft.com/it-it/library/e3s99sd8.aspx

Ultima modifica effettuata da ampeg il 07/01/2012 alle 13:39
PM Quote
Avatar
bibimeravilla96 (Normal User)
Pro


Messaggi: 79
Iscritto: 02/01/2012

Segnala al moderatore
Postato alle 13:46
Sabato, 07/01/2012
In questo caso devo fare un confronto tra item....essendo una list box, o sbaglio??

Ultima modifica effettuata da bibimeravilla96 il 07/01/2012 alle 15:39
PM Quote
Avatar
ampeg (Normal User)
Pro


Messaggi: 124
Iscritto: 21/04/2011

Segnala al moderatore
Postato alle 16:20
Sabato, 07/01/2012
devi fare un confronto testuale e lo puoi fare prima di aggiungere il testo alla listbox

esempio se voglio che siano inseriti nella listbox solo quei link che contengono il testo ".com" posso fare come segue

Codice sorgente - presumibilmente VB.NET

  1. For Each he As HtmlElement In CType(sender, WebBrowser).Document.Links
  2.  
  3.       'Assegno alla variabile sLink il testo del link anziché aggiungerlo direttamente alla ListBox
  4.       Dim sLink As String = he.GetAttribute("href").ToString
  5.  
  6.       'Imposto il testo da filtrare
  7.       Dim sFind As String = ".COM"
  8.  
  9.         'IndexOf restituisce la posizione del carattere all'interno della stringa qualora il testo in sFind sia incluso altrimenti restituisce -1
  10.  
  11.       If sLink.ToLower.IndexOf(sFind.ToLower) > -1 Then
  12.         'il testo da cercare è incluso nel testo del link quindi lo aggiungo alla listbox
  13.         ListBox1.Items.Add(sLink)
  14.  
  15.       End If
  16.  
  17.  
  18.       'le funzioni ToLower applicate alle variabili stringa convertono il testo in minuscolo, in questo modo possiamo usare indipendentemente le lettere maiuscole / minuscole per cercare il testo
  19.  
  20.     Next




oppure puo anche usare direttamente la funzione IndexOf per ignorare il testo maiuscolo / minuscolo mettendo l'argomento "StringComparison.OrdinalIgnoreCase"

Codice sorgente - presumibilmente Delphi

  1. If sLink.IndexOf(sFind, 0, StringComparison.OrdinalIgnoreCase) > -1 Then
  2.   ListBox1.Items.Add(sLink)
  3. End If


Ultima modifica effettuata da ampeg il 07/01/2012 alle 16:27
PM Quote
Avatar
bibimeravilla96 (Normal User)
Pro


Messaggi: 79
Iscritto: 02/01/2012

Segnala al moderatore
Postato alle 16:41
Sabato, 07/01/2012
Grazie mille perfetto....
Ultima cosa se voglio invece ripulire la list box da item uguali.....ovvero se si presentano nella list box 2 item uguali come faccio a far si che ne resti solo uno ad esempio: pippo     voglio che diventi :  pippo  ???  
                  topolino                              topolino
                  paperino                             paperino
                  pippo

io so come si rimuovono uno per uno gli item o rimuoverli tutti da una list box  ma non credo servi....

Ultima modifica effettuata da bibimeravilla96 il 07/01/2012 alle 19:37
PM Quote
Avatar
GN (Member)
Guru


Messaggi: 772
Iscritto: 30/04/2011

Segnala al moderatore
Postato alle 13:33
Domenica, 08/01/2012
Testo quotato

Postato originariamente da bibimeravilla96:

Grazie mille perfetto....
Ultima cosa se voglio invece ripulire la list box da item uguali.....ovvero se si presentano nella list box 2 item uguali come faccio a far si che ne resti solo uno ad esempio: pippo     voglio che diventi :  pippo  ???  
                  topolino                              topolino
                  paperino                             paperino
                  pippo

io so come si rimuovono uno per uno gli item o rimuoverli tutti da una list box  ma non credo servi....


E' più semplice evitare di inserire elementi già inseriti piuttosto che ripulire dopo; potresti quindi, prima di aggiungere un link, controllare se c'è già:
Codice sorgente - presumibilmente VB.NET

  1. For Each he As HtmlElement In CType(sender, WebBrowser).Document.Links
  2.  Dim s As String = he.GetAttribute("href") 'link
  3.  If Not listbox1.Items.Contains(s) Then 'solo se il link non c'è già
  4.   ListBox1.Items.Add(s) 'lo aggiungiamo.
  5.  Enf If
  6. Next


PM Quote
Avatar
bibimeravilla96 (Normal User)
Pro


Messaggi: 79
Iscritto: 02/01/2012

Segnala al moderatore
Postato alle 19:53
Domenica, 08/01/2012
Cosa sbaglio???

Codice sorgente - presumibilmente VB.NET

  1. Private Sub wb_DocumentCompleted(ByVal sender As Object, ByVal e As System.Windows.Forms.WebBrowserDocumentCompletedEventArgs)
  2.         For Each he As HtmlElement In CType(sender, WebBrowser).Document.Links
  3.             Dim sLink As String = he.GetAttribute("href")
  4.             Dim sFind As String = ".com"
  5.             If sLink.ToLower.IndexOf(sFind.ToLower) > -1 Then
  6.  
  7.             End If
  8.             If Not ListBox1.Items.Contains(sLink) Then
  9.                 ListBox1.Items.Add(sLink)
  10.             End If
  11.  
  12.         Next
  13.     End Sub


Ultima modifica effettuata da bibimeravilla96 il 08/01/2012 alle 19:55
PM Quote
Pagine: [ 1 2 3 ] Precedente | Prossimo