¿XPath copiado devuelve un resultado vacío?
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
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']")