Condividi tramite

Come Estrarre dati da una Pagina web

Anonimo
2022-01-15T20:36:06+00:00

Ciao a Tutti mi chiamo Maurizio

Vi scrivo in quanto vorrei sapere se ci fosse un modo alternativo per estrarre i dati da una pagina web , visto che non si può più usare internet Explorer

Il sito in questione e questo : https://www.corriere.it/salute/22_gennaio_15/covid-italia-bollettino-oggi-15-gennaio-180426-nuovi-casi-308-morti-896cf62c-760f-11ec-abfd-24fbe216e2ae.shtml Il tutto sempre usando il vba e inserire i suoi dati sul foglio di excel con Office 2007 grazie

Microsoft 365 e Office | Excel | Per la casa | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento

3 risposte

Ordina per: Più utili
  1. Anonimo
    2022-01-16T16:49:35+00:00

    Ciao Norman David Jones ho provato con piacere il tuo Progetto
    Pero' ho notato che ; si tu apri la pagina dichiarata dall'ink scaricando il file
    Pero' non scarichi nessun Dato dal sito al foglio di excel

    Mentre io prima riuscivo a scaricare i dati con l'uso del vba Nel foglio di excel

    Io in pratica facevo questo modo ;

    " Option Explicit

    Sub GetSocial()

    Dim html As New HTMLDocument 
    
    Dim http As Object 
    
    Dim links As Object 
    
    Dim link As HTMLHtmlElement 
    
    Dim counter As Long 
    
    Dim website As Range 
    
    Dim row As Long 
    
    Dim continue As Boolean 
    
    Dim respHead As String 
    
    Dim OggCol As Object, OggCol1 As Object 
    
    Application.ScreenUpdating = False 
    
    row = 11 
    
    continue = True 
    
    Set http = CreateObject("MSXML2.ServerXMLHTTP.6.0") 
    
    Do While continue 
    
        Set website = Range("A" & row) 
    
        If Len(website.Value) < 1 Then 
    
            continue = False 
    
            Exit Sub 
    
        End If 
    
        If website Is Nothing Then 
    
            continue = False 
    
        End If 
    
        With http 
    
            On Error Resume Next 
    
            .Open "GET", website.Value, False 
    
            .send 
    
            Range("B" & row & ":e" & row).Clear 
    
            If Err.Number = 0 Then 
    
                If .Status = 200 Then 
    
                    html.body.innerHTML = http.responseText 
    
                    'Set links = HTML.getElementsByTagName("a") 
    
                    Set OggCol = .getElementsByClassName("col-sm-12") 
    
                    For Each link In links 
    
                        If InStr(UCase(link.outerHTML), "LINKEDIN") Then 
    
                            website.Sheets("Sheet1").Cells(1, 1) = OggCol1(0).innerText 
    
                        End If 
    
                    Next 
    
                End If 
    
                Set website = Nothing 
    
            Else 
    
                    website.Offset(0, 1).Value = "Error with website address" 
    
            End If 
    
                    On Error GoTo 0 
    
        End With 
    
        row = row + 1 
    
    Loop 
    
    Application.ScreenUpdating = True 
    

    End Sub "

    Anche se a, dire il vero attualmente non mi funziona perché continua a darmi errore qui :

    Dim html As New HTMLDocument

    E non capisco il perché !

    Grazie del tuo aiuto Saluti da A.Maurizio

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2022-01-16T07:40:50+00:00

    Ciao Maurizio,

    Ciao a Tutti mi chiamo Maurizio

    Vi scrivo in quanto vorrei sapere se ci fosse un modo alternativo per estrarre i dati da una pagina web , visto che non si può più usare internet Explorer

    Il sito in questione e questo : https://www.corriere.it/salute/22_gennaio_15/covid-italia-bollettino-oggi-15-gennaio-180426-nuovi-casi-308-morti-896cf62c-760f-11ec-abfd-24fbe216e2ae.shtml Il tutto sempre usando il vba e inserire i suoi dati sul foglio di excel con Office 2007 grazie

    Per scaricare l'intera pagina web e salvarla come documento html, senza l'uso di Internet Explorer, prova qualcosa del genere:

    '========>>

    Option Explicit

    '----------------------------------------------------------

    '\ Strumenti -> Riferimenti: Microsoft HTML Object Library

    '----------------------------------------------------------

    '\ MSDN - URLDownloadToFile function - https://msdn.microsoft.com/en-us/library/ms775123(v=vs.85).aspx

    #If VBA7 And Win64 Then

        Private Declare PtrSafe Function URLDownloadToFile Lib "urlmon" _

          Alias "URLDownloadToFileA" ( _

            ByVal pCaller As LongPtr, _

            ByVal szURL As String, _

            ByVal szFileName As String, _

            ByVal dwReserved As LongPtr, _

            ByVal lpfnCB As LongPtr _

          ) As Long

        Private Declare PtrSafe Function DeleteUrlCacheEntry Lib "Wininet.dll" _

          Alias "DeleteUrlCacheEntryA" ( _

            ByVal lpszUrlName As String _

          ) As Long

    #Else

        Private Declare Function URLDownloadToFile Lib "urlmon" _

          Alias "URLDownloadToFileA" ( _

            ByVal pCaller As Long, _

            ByVal szURL As String, _

            ByVal szFileName As String, _

            ByVal dwReserved As Long, _

            ByVal lpfnCB As Long _

          ) As Long

        Private Declare Function DeleteUrlCacheEntry Lib "Wininet.dll" _

          Alias "DeleteUrlCacheEntryA" ( _

            ByVal lpszUrlName As String _

          ) As Long

    #End If

    '-------->>

    Public Sub Tester()

        Dim oFSO As Object

        Dim oHtml As MSHTML.HTMLDocument

        Dim oHtml4 As MSHTML.IHTMLDocument4

        Dim bOk As Boolean

        Const sURL As String = "https://www.corriere.it/salute/22_gennaio_15/covid-italia-bollettino-oggi-15-gennaio-180426-nuovi-casi-308-morti-896cf62c-760f-11ec-abfd-24fbe216e2ae.shtml"  '<<=== Modifica

        Const sPercorso_FileHTML = "C:\Users\Maurizio\Test.htm"  '<<=== Modifica

        Set oFSO = CreateObject("Scripting.FileSystemObject")

        On Error GoTo XIT

        bOk = (URLDownloadToFile(0, sURL, sPercorso_FileHTML, 0, 0) = 0)

        If bOk Then

            If oFSO.FileExists(sPercorso_FileHTML) Then

                '\ Strumenti -> Riferimenti: Microsoft HTML Object Library

                Set oHtml4 = New MSHTML.HTMLDocument

                Set oHtml = Nothing

                '\ IHTMLDocument4.createDocumentFromUrl

                '\  MSDN - IHTMLDocument4 createDocumentFromUrl method - https://msdn.microsoft.com/en-us/library/aa752523(v=vs.85).aspx

                Set oHtml = oHtml4.createDocumentFromUrl(sPercorso_FileHTML, "")

                While oHtml.readyState <> "complete"

                    DoEvents

                Wend

            End If

        End If

    XIT:

        Set oFSO = Nothing

        Set oHtml = Nothing

        Set oHtml4 = Nothing

    End Sub

    '<<========

    Nota bene:

    Prima di eseguire questo codice, aggiungi un riferimento alla library Microsoft HTML Object Library:

    Nell'editor VBA: Strumenti | Riferimenti | Spunta la library Microsoft HTML Object Library

    ===

    Regards,

    Norman

    Immagine

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2022-01-16T06:00:22+00:00

    La risposta è stata tradotta automaticamente. Di conseguenza, potrebbero esserci errori grammaticali o parole insolite.

    Ciao A. Maurizio_19

    Grazie per aver scelto la nostra Microsoft Community.

    In base alla tua descrizione, non preoccuparti, possiamo lavorare insieme per restringere il campo e risolvere il problema.

    Dalla categoria che hai pubblicato, la tua domanda è "come importare dati da una pagina Web tramite Office 2007, perché Internet Explorer non è più disponibile". Se la mia comprensione è sbagliata, siete invitati a correggermi. Posso capire che il processo di risoluzione del problema è lungo e fastidioso. Cercheremo di avvicinarci il più possibile alla risposta.

    Abbiamo importato i dati di Excel su una macchina con Microsoft Edge e una macchina con l'ultimo Internet Explorer 11 e il processo di importazione sembra funzionare correttamente. Per informazioni dettagliate, fare riferimento all'esercitazione di supporto Microsoft per il processo e i passaggi di importazione specifici, fare clic qui

    Dalla domanda che ti è stata posta, puoi fornire informazioni più dettagliate?

    1- Qual è il numero di versione di Internet Explorer installato nel computer?

    2- Se è conveniente per te, possiamo usarlo scaricando l'ultimo browser Microsoft Edge, perché Internet Explorer 11 sta per terminare il supporto il 15 giugno 2022.

    3- Per informazioni dettagliate sul download di Microsoft Edge, fare clic qui

    4- Capisco perfettamente la tua domanda, ma una cosa che mi confonde è che hai usato VBA per importare i dati delle pagine web prima. Sfortunatamente, potrei non essere un esperto di Visual Basic, Applications Edition (VBA in breve) e se hai bisogno di dettagli più approfonditi con il supporto VBA puoi ottenere assistenza visitando la community tecnica IT.

    Grazie per la comprensione e stai al sicuro!

    | Chandy Microsoft Community Support Specialist


    * Fai attenzione ai truffatori che pubblicano numeri di supporto falsi qui.

    * Gentilmente segna e vota questa risposta se aiuta in quanto sarà utile per più membri della comunità che leggono qui.

    La risposta è stata utile?

    0 commenti Nessun commento