Macro para Leer codigo HTML
Publicado por Blas (15 intervenciones) el 07/05/2020 19:52:42
Holisimas a todos.espero q se encuentren muy bien.
En VBA (Excel ) me encuentro con un problema.
intento ingresar al codigo de una pagina WEB. al parecer entra en la pagina lee el codigo y lo extrae
pero analizando lo que extrae es la pagina web sin los datos que me interesan.
Veamos.
la parte que debe leer de la pagina web esta en la etiqueta h1, que corresponde al titulo del libro
pero me devuelve el texto con page unavailable
En VBA (Excel ) me encuentro con un problema.
intento ingresar al codigo de una pagina WEB. al parecer entra en la pagina lee el codigo y lo extrae
pero analizando lo que extrae es la pagina web sin los datos que me interesan.
Veamos.
la parte que debe leer de la pagina web esta en la etiqueta h1, que corresponde al titulo del libro
pero me devuelve el texto con page unavailable
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
Sub navegar()
Dim ie As InternetExplorer 'debe habilitarse la Referencia a Microsoft Internet ControlsSet ie = New InternetExplorer 'Establece que IE sera una nueva instancia de IExplorer
Dim web_about
web_about = "https://link.springer.com/book/10.1007%2F978-0-387-21736-9#about"
With ie ' Acciones a realizar con IE.Navigate2 web_about 'Navegar en el Browser a una ubicacion que puede no estar representada como URL
Do Until ie.ReadyState = READYSTATE_COMPLETE ' Hara un bucle aca mismo hasta completar la pagina
DoEvents
Loop ' Hara un loop.Visible = False ' No necesitamos ver la pagina, solo extraer los datos
'************************'Ocultamos el procedimientoApplication.ScreenUpdating = False
'Si hay errores, que continúeOn Error Resume Next
'pasamos a una variable, la página de la'que vamos a sacar la información'pasamos la parte que rodea al texto que'nos interesa, a variablesDim principio
principio = "<h1>"
Final = ""
Final = "</h1>"
'creamos el objeto xmlhttpDim xml
Set xml = CreateObject("Microsoft.XMLHTTP")
'accedemos a la página webxml.Open "POST", web_about, False
'mandamos el contenidoxml.send'pasamos el contenido a una variableDim texto
texto = xml.responseText
'miramos en que nº de carácter aparecen los textos'que envuelven la información que necesitamos.'Primero con la posición inicialDim posicion1, posicion2Sheets("Hoja2").Range("A1") = texto
posicion1 = InStr(texto, principio) + 4
'ahora con la posición finalposicion2 = InStr(texto, Final)
'recuperamos el texto que hay entre esas dos posicionesDim dato
dato = Mid(texto, posicion1, (posicion2 - posicion1))
Sheets("Hoja2").Range("B1") = dato
End With
End Sub
Valora esta pregunta


0

