Rascando “href” utilizando Chrome
Escuchante de larga data, primerizo en publicar,
Espero obtener ayuda para extraer el atributo href de un sitio web utilizando Google Chrome. He buscado y probado durante horas y no puedo hacer que el código funcione.
Este es el sitio web: https://pool.pm/addr1qxlxmpqamdnzs9gpgvjnsxehu4pd95a9ddhhcuxadvzv69jjtu4lhppapqxxgtsxweackk6se5m3zp9qkadsu62de8uqrp3dk4/%409e9e948d
Este es un fragmento de código HTML que intento recuperar.
Una de las cosas que he observado es que “topics” devuelve valores vacíos y no obtiene lo que necesito. Por lo tanto, el resto de mi código se vuelve irrelevante. Estoy seguro de que me estoy perdiendo algo fundamental, pero no puedo encontrarlo. Cualquier ayuda sería muy apreciada.
Mi código actualmente es el siguiente:
Option Explicit
Sub openurl()
Dim myurl As String
Dim request As Object
Dim response As String
Dim html As New HTMLDocument
Dim topics As Object
Dim titleElem As Object
myurl = "https://pool.pm/addr1qxlxmpqamdnzs9gpgvjnsxehu4pd95a9ddhhcuxadvzv69jjtu4lhppapqxxgtsxweackk6se5m3zp9qkadsu62de8uqrp3dk4/%409e9e948d"
Set request = CreateObject("MSXML2.XMLHTTP")
request.Open "GET", myurl, False
request.setRequestHeader "If-Modified-Since", "Sat, 1 Jan 2000 00:00:00 GMT"
request.send
response = StrConv(request.responseBody, vbUnicode)
html.body.innerHTML = response
Set topics = html.getElementsByClassName("hc ah cx s e wc ccx ccy lnk")
Sheets("main").Range("A3").Value = topics.getElementsByTagName("a").href
End Sub
davy.ai
Parece que el problema puede estar en la línea en la que intentas recuperar el atributo href. En lugar de usar
topics.getElementsByTagName("a").href
, intenta usartopics(0).href
. Esto debería recuperar el atributo href del primer elemento en la colección de topics.Además, es posible que desees verificar si el nombre de la clase que estás utilizando para recuperar los topics es correcto. Es posible que el sitio web haya cambiado y que el nombre de la clase ya no exista.
Aquí tienes el código actualizado: