usar xpath en google sheets

Web Scraping con Google Sheets


Como el presupuesto de un instituto de secundaria público da para lo que da, tengo una hoja de cálculo en la que anoto los equipos de 2ª mano que voy encontrando a un precio interesante junto con (entre otros datos) el micro que tiene y el benchmark de dicho procesador. De esta forma puedo crear métricas para determinar cuál tiene una calidad/precio más interesante y poder tomar una decisión (más menos que más) fundamentada 😅

La cuestión es que misteriosamente un dato que consideraba estable como es el benchmark me he encontrado que ha cambiado desde que busqué equipos el curso pasado 😲 (si alguien conoce el motivo, agradecería comentario 😉)

Tras un rato maldiciendo en arameo antiguo, opté por usar Google Sheets y la función importXml(…) que, gracias a mis queridas expresiones XPath me han dado la solución…

A día de hoy y, como le digo al secretario de mi centro (los equipos de segunda mano son como la Bolsa), estos equipos acaparan toda mi atención

y la fórmula que utilizo en Google Sheets es la siguiente

=IMPORTXML("https://www.cpubenchmark.net/cpu_list.php";"//tr[.//a[contains(./text(),'"&C3&"')]]/td[2]")

donde:

  • La web que utilizo para consultar el rendimiento de cada microprocesador es CPUBenchmark
  • //tr[.//a[contains(./text(),'”&C3&”‘)]]/td[2] es la XPath para obtener información del micro que estoy buscando
  • C3 en la expresión XPath anterior es la celda en la que aparece el nombre del procesador (que previamente he copiado de CPU Benchmark para que coincida exactamente y que se encuentra en la columna Modelo de la captura de pantalla que os he compartido)

Se podría optimizar la solución anotando en una hoja los distintos modelos de procesador y su puntuación en la web de benchmarks (luego sólo habría que buscar en la tabla de micros) pero

  • siendo una primera versión (que os comparto en primicia)
  • y tan pocos los equipos que estoy comparando en cada momento

que no me merece a día de hoy meter más ruido. Si os apetece y/o hace falta hablamos en los comentarios y mejoramos la idea con vuestras aportaciones, sugerencias y necesidades 👍

Conclusión

Aplicación práctica de la función importXML(…) de Google Sheets para realizar cálculos utilizando datos obtenidos de otras webs que espero os anime a investigar y aplicar en vuestros propios proyectos.

Y tú…

  • ¿Has utilizado antes la función importXml(…) de Google Sheets?
  • ¿Qué te parece la posibilidad de utilizar datos de otras webs en tus hojas de cálculo?
  • ¿Sueles utilizar XPath habitualmente?
  • ¿Qué te ha parecido la idea de usar métricas para elegir equipos de segunda mano? 😉

4 comentarios en “Web Scraping con Google Sheets

  1. Que en el PC instalo lo que me da la gana y visualizo lo que quiero y como quiero y no mando “estadísticas” a nadie si no quiero y en la Smart, no. No tengo ningún control de lo que ejecuta ese ordenador ni cuando.

    Me gusta

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Salir /  Cambiar )

Google photo

Estás comentando usando tu cuenta de Google. Salir /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Salir /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Salir /  Cambiar )

Conectando a %s

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios .