¿XPath copiado devuelve un resultado vacío?

Oct 04 2020

Usando esta página web para realizar pruebas, y esta página de Bloomberg como fuente para la cadena XML, busco obtener el valor NAV que está en grandes números. Si inspecciono el elemento con Google Chrome y hago clic derecho para copiar el XPath, obtengo:

//*[@id="root"]/div/div/section[2]/div[1]/div[2]/section[1]/section/section[2]/section/div[1]/span[1]

Si copio el XPath completo, obtengo:

/html/body/div[6]/div/div/section[2]/div[1]/div[2]/section[1]/section/section[2]/section/div[1]/span[1]

Sería incluso mejor si algo como esto funcionara:

//span[@class="priceText__1853e8a5"]

Pero todas estas expresiones, a pesar de estar marcadas como válidas por la herramienta, también dan un resultado vacío en la herramienta de prueba y en mi hoja de cálculo de Google, donde utilizo:

=importxml("https://www.bloomberg.com/quote/ZARATHU:BZ";"//span[@class='priceText__1853e8a5']")

Aunque noto que todas las consultas anteriores no funcionan también en la hoja de cálculo.

Respuestas

1 Iamblichus Oct 05 2020 at 20:15

Parece que este sitio web está protegido contra solicitudes automáticas, por lo que bloquea las solicitudes de IMPORTXML. Puede comprobarlo si intenta recuperar el HTML completo:

=importxml("https://www.bloomberg.com/quote/ZARATHU:BZ","html")

El contenido HTML devuelto incluye lo siguiente:

Hemos detectado actividad inusual en su red informática.
Para continuar, haga clic en el cuadro a continuación para informarnos que no es un robot.

Relacionado:

  • El script Importxml para acceder a los precios de las acciones de Bloomberg dejó de funcionar
  • Desechar datos de Bloomberg

Editar:

El OP resolvió el problema utilizando este complemento de raspado web :

=IMPORTFROMWEB("https://www.bloomberg.com/quote/ZARATHU:BZ";"//span[@class='priceText__1853e8a5']")