Buongiorno a tutti,
premesso che sono un super principiante volevo chiedere un aiuto per quanto segue.
Sono un libraio e mi diletto sul pc. Seguendo i vari post e in varie ricerche su google sono riuscito a scrivere alcune righe in VBA . Avevo la necessità di estrarre la descrizione di un libro su una casella excel da una pagina web. Per far ciò ho scritto questo:
codice:
Sub estrazioneDescrizione1()
Dim descrString As String
Dim allTag As Object
Dim url1 As String
Dim url2 As String
url1 = "https://www.mondadoristore.it/*/eai978883044827"
url2 = "https://www.mondadoristore.it/*/eai978880468543"
Cells(1, 1) = "" 'pulisco la cella
Set ie = CreateObject("InternetExplorer.Application")
ie.Navigate (url1)
ie.Visible = True
'aspetto che la pagina si carichi...
Do
DoEvents
Loop Until ie.ReadyState = 4
Set allTag = ie.document.getElementsByTagName("p")
For Each ptag In allTag
If (ptag.classname = ("text") And ptag.GetAttribute("itemprop") = "description") Then
descrString = ptag.innerText
If descrString = "" Then
Cells(1, 1) = "Descr. non trovata"
Exit For
End If
Cells(1, 1) = descrString
Exit For
End If
Next
ie.Quit
Set ie = Nothing
End Sub
Ho inserito due indirizzi di libri dallo stesso sito che possono sembrare uguali; nel primo indirizzo url1 la macro restituisce la descrizione del libro, mentre se si girare la macro con url2, anche se la descrizione esiste sul sito, la macro non trova nulla (faccio restituire la scritta "Descr. non trovata").
Ora analizzando la sorgente mi accorgo che nel secondo caso c'è del testo formattato e la macro non mi restituisce nulla. differenze1.jpg
Sapreste indirizzarmi o suggerirmi sul da farsi o se il mio codice può essere migliorato.
Grazie