Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14
  1. #1

    [VB6] MSHTML

    Mi potete fare un piccolo esempio funzionante su come posso collegarmi a una pagina web con MSHTML in VB6 e recuperare il codice HTML.

    Vorrei fare un piccolo programmino che si collega a un indirizzo URL e recupera tutto codìce HTML da ogni pagina di quel sito. Man mano che recupera da una pagina il codice HTML lo deve salvare in una variabile, fare una ricerca di testo in quella variabile, se il testo è presente deve salvare la pagina sul mio HD se non è presente deve liberare la variabile e procedere a un altra pagina del URL.

    Mi potete aiutare?

  2. #2
    Utente di HTML.it
    Registrato dal
    Jul 2001
    Messaggi
    798
    codice:
        Dim objMSHTML As New MSHTML.HTMLDocument
        Dim objDoc As MSHTML.HTMLDocument
    
        Set objDoc = objMSHTML.createDocumentFromUrl("http://www.microsoft.com", vbNullString)
    
        Do While objDoc.readyState <> "complete"
            DoEvents
        Loop
    
        Dim html As String
    
        html = objDoc.documentElement.outerHTML
    
        Set objDoc = Nothing
        Set objMSHTML = Nothing
    Questo esempio recupera l'html dalla pagina home del sito microsoft; il contenuto viene salvato nella variabile html.

    Poi dipende da quello che ti serve, potrebbe bastarti una Instr per verificare se un sottostringa è presente nella variabile html.
    Ans.

  3. #3
    grazie 1000 ans, comincio subito a provare, e se volessi recuperare un collegamento ipertestuale dalla variabile html, come posso fare?

  4. #4
    ma per usare msHTML che libreria dovrei selezionare nei References??

  5. #5
    Originariamente inviato da Andriy88
    ma per usare msHTML che libreria dovrei selezionare nei References??
    trovato la libreria da solo.

    Microsoft HTML Object Library --> mshtml.tlb

  6. #6
    Qualcuno mi potrebbe commentare questo codice per favore? Sono alle prime armi e vorrei capire bene come funziona.

    codice:
        Dim objMSHTML As New MSHTML.HTMLDocument
        Dim objDoc As MSHTML.HTMLDocument
    
        Set objDoc = objMSHTML.createDocumentFromUrl("http://www.microsoft.com", vbNullString)
    
        Do While objDoc.readyState <> "complete"
            DoEvents
        Loop
    
        Dim html As String
    
        html = objDoc.documentElement.outerHTML
    
        Set objDoc = Nothing
        Set objMSHTML = Nothing
    Mi potete elencare anche tutte le funzioni di "Dim objDoc As MSHTML.HTMLDocument" come per esempio "objDoc.readyState" e "objDoc.documentElement.outerHTML". Ne esistono altri?

  7. #7
    e se volessi recuperare con msHTML il nome della pagina html come faccio?

  8. #8
    Utente di HTML.it
    Registrato dal
    Jul 2001
    Messaggi
    798
    piano con le domande

    codice:
    Dim objLink As HTMLLinkElement
    
    For Each objLink In objDoc.links
       .....
    Next
    Così recuperi tutti i collegamenti ipertestuali. Nel ciclo objLink è l'url, quindi puoi esaminarla e vedere se ti interessa o meno.

    Il metodo createDocumentFromUrl è asincrono, quindi il codice va avanti senza attendere il completamento dell'operazione, per questo il ciclo di attesa, fino a quando l'avanzamento, quindi readyState, raggiunge lo stato di complete.

    outerHtml ritorna l'html esterno (outer) della pagina, inner per la parte interna, mentre outerText e innerText per il solo testo.
    Ans.

  9. #9
    grazie ans

    vado subito a provare

  10. #10
    [QUOTE]
    codice:
    Dim objLink As HTMLLinkElement
    
    For Each objLink In objDoc.links
       .....
    Next
    Così recuperi tutti i collegamenti ipertestuali. Nel ciclo objLink è l'url, quindi puoi esaminarla e vedere se ti interessa o meno./QUOTE]


    Sto perdendo la testa vicino sto Visual Basic 6 ormai da 4 ore consecutive e non ci riesco in nessun modo a recuperare i collegamenti ipertestuali dal codice HTML con msHTML.

    Qualcuno mi può aiutare per vore ???? VVoVe:

    Per maggiori info vi segno un può la struttura del mio programmino:
    codice:
    Option Explicit
        Dim objMSHTML As New MSHTML.HTMLDocument
        Dim objDoc As MSHTML.HTMLDocument
    
    Private Sub Recupera_Click()
        Set objDoc = objMSHTML.createDocumentFromUrl(txtURL.Text, vbNullString)
        Do While objDoc.readyState <> "complete"
            DoEvents
        Loop
        txtCode.Text = objDoc.documentElement.outerHTML
        Set objDoc = Nothing
        Set objMSHTML = Nothing
    End Sub
    Questo è il codice del mio programmino, dovrei fare ora in modo che oltre a recuperare codice HTML da un URL mi deve stamparare nella ListBox di nome listEmail i collegamenti ipertestuali che ci sono in quella pagina.

    Qualcuno mi può per favore modificare il mio codice facendo in modo che recupera anche i collegamenti ipertestuali di quella pagina...

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 © 2025 vBulletin Solutions, Inc. All rights reserved.