Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it L'avatar di minoz
    Registrato dal
    Oct 2001
    Messaggi
    219

    Scaricare HTML di una pagina web

    Ciao a tutti!

    Come faccio a scaricare il codice HTML di una pagina web?
    Con il controllo inet ed il metodo openURL mi preleva solo poche righe del codice, non la pagina intera, all'incirca 1kb.

    Grazie.

  2. #2
    Utente di HTML.it L'avatar di wallrider
    Registrato dal
    Apr 2003
    Messaggi
    2,755
    so che devi usare il controllo xmlhttp ma non l'ho mai usato
    RIP Cicciobenzina 9/11/2010

    "Riseminaciceli, i ceci nell'orto"

  3. #3

    Re: Scaricare HTML di una pagina web

    Originariamente inviato da minoz
    Ciao a tutti!
    Come faccio a scaricare il codice HTML di una pagina web?
    Con il controllo inet ed il metodo openURL mi preleva solo poche righe del codice, non la pagina intera, all'incirca 1kb.
    Puoi usare il controllo WebBrowser, ed ottenere l'HTML con:
    WebBrowser1.Document.documentElement.innerHTML

    Ciao !
    IceCube_HT (VB6 fan Club)

  4. #4
    Utente di HTML.it L'avatar di minoz
    Registrato dal
    Oct 2001
    Messaggi
    219
    dunque.. con il controllo webBrowser avevo gia provato.
    Ma il problema è che devo fare un ciclo e scaricare più di una pagina.

    Se all'interno del ciclo faccio

    For i=1 to n
    WebBrowser1.Navigate(URL(i))
    codice = WebBrowser1.Document.documentElement.innerHTML
    Next
    Il codice che ottengo è quello della pagina al ciclo precedente oppure una parte incompleta del codice.

    Con il controllo INET invece ho il problema che mi scarica solo 1Kb del codice della pagina.

    Ci sono altri modi, avete degli esempi da darmi?

    Grazie

  5. #5
    Originariamente inviato da minoz
    dunque.. con il controllo webBrowser avevo gia provato.
    Ma il problema è che devo fare un ciclo e scaricare più di una pagina.
    Se all'interno del ciclo faccio
    For i=1 to n
    WebBrowser1.Navigate(URL(i))
    codice = WebBrowser1.Document.documentElement.innerHTML
    Next
    Il codice che ottengo è quello della pagina al ciclo precedente oppure una parte incompleta del codice.
    Beh, certo !

    Se hai piu' URL (infatti hai un array URL(i)), dovrai avere anche piu' pagine HTML..,(dovrai dimensionare 'codice' come array, quindi codice(i) ).

    Inoltre il metodo WB.Navigate e' asincrono, cioe' l'elaborazione (Navigate) NON si interrompe fino a quando tutta la pagina e' caricata... Quindi tu vai a leggere il contenuto della pagina MENTRE la sta' caricando (che sia lo stesso problema che hai con INET..?)

    Prova a leggerti un po' di documentazione sul controllo su MSDN...

    Ciao !
    IceCube_HT (VB6 fan Club)

  6. #6
    Se vuoi una traccia di codice, apri un nuovo progetto e nel Form1 inserisci un controllo WebBrowser e un pulsante. Nel codice del Form inserisci:

    codice:
    Option Explicit
    Dim FINE As Boolean
    
    Public Function GetHTML(ByVal URL As String) As String
    'restituisce il codice HTML dall'URL specificato
       FINE = False
       WebBrowser1.Silent = True
       WebBrowser1.Navigate URL
       Do
          DoEvents
       Loop Until FINE
       GetHTML = WebBrowser1.Document.documentElement.innerHTML
    End Function
    
    Private Sub WebBrowser1_DocumentComplete(ByVal pDisp As Object, URL As Variant)
    'evento generato al termine del completamento di una pagina o frame
       FINE = True
    End Sub
    
    
    Private Sub Command1_Click()
    ' e' solo un esempio di lista di indirizzi da leggere....
    
       Const N = 2  
       Dim i As Integer, ind( N ) As String, codice ( N ) As String
       ' impostiamo la lista indirizzi.....
       ind(0) = "http://www.html.it/"
       ind(1) = "http://forum.html.it/forum/showthread.php?s=&postid=9514656#post9514656"
       For i = 0 To N - 1
          codice( i ) = GetHTML( ind(i) )     
          ' qui stampiamo semplicemente il testo HTML nella finestra di Debug...
          Debug.Print "*********************** "; ind(i)
          Debug.Print codice ( i )
       Next
       MsgBox "FINE: vedi finestra di Debug !"
    End Sub
    Che te ne pare...? Ovviamente e' da perfezionare.... Ciao !
    IceCube_HT (VB6 fan Club)

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.