Cómo extraer datos automáticamente con las hojas de cálculo de Google

¿Quieres que tus decisiones de negocio sean más acertadas? ¿Quieres obtener una herramienta gratuita y automatizada para extraer datos? Todo esto puede sonar costoso e incluso no verles mucho sentido para aquellos negocios digitales de pequeño/mediano tamaño.

Con este artículo quiero que quites el miedo a estos conceptos y descubras esas oportunidades que no has estado aprovechado. Lo único que vamos a necesitar es tiempo de aprendizaje para poder crear herramientas automatizadas y adaptadas a nuestras necesidades de negocio, tanto para pequeños negocios como para las grandes multinacionales.

Para crear nuestra herramienta personalizada, solo vamos a necesitar dos cosas:

  • XPath: Lenguaje para poder extraer los datos.
  • Google Sheets: La hoja de cálculo donde importar los datos.

Si no tienes conocimiento sobre XPath te recomiendo que comiences por el primer punto. Por el contrario, si ya tienes un conocimiento previo, salta directamente al segundo punto. ¡Vamos a por ello!

Cómo utilizar XPath para extraer datos

XPath es un lenguaje de programación que nos va a permitir procesar todo un documento XML (ej.: documentos de texto, hojas de cálculo o páginas web). Gracias a las expresiones regulares que utiliza XPath podremos recorrer dichos documentos para poder extraer los datos que nos interesen.

Este lenguaje nos permite seleccionar partes de un texto sin necesidad de un atributo, porque este funciona en base a una estructura jerárquica. Con ello podremos seleccionar específicamente un elemento o un conjunto de elementos, por ejemplo, del código HTML, para después extraerlo.

XPath es útil para muchas otras herramientas, pero para el ejemplo de hoy, vamos a aplicarlo con Google Sheets, ya que es el único lenguaje viable para extraer datos en esta herramienta.

Para que os hagáis una idea de cómo funciona este lenguaje, os voy a poner un ejemplo en la siguiente imagen. Aquí comparo una estructura HTML que podríamos querer extraer, junto con la ruta XPath que utilizaríamos para seleccionarla y extraerla.

HTML-XPATH

Tranquilos porque no vamos a tener que ponernos a aprender un nuevo lenguaje. Para poder seleccionar las rutas de los datos que queremos extraer, hay dos métodos muy sencillos:

Usar la extensión para Google Chrome :

  • Instalamos la extensión «XPath Helper» en Chrome.
  • Vamos a una página web.
  • Hacemos clic en el botón «Shift».
  • Seleccionando cualquier elemento para obtener la ruta en la parte superior de la pantalla.
Extension-XPathHelper

Usar la consola de Google Chrome:

  • Vamos a una página web.
  • Hacemos clic derecho.
  • Seleccionamos «Inspeccionar».
  • Hacemos clic en el elemento.
  • Hacemos clic derecho encima de la selección azul del HTML y seleccionamos «Copy» > «Copy XPath».
Copy XPath

Cómo extraer todo el contenido HTML automáticamente de páginas web

Extraer y recopilar datos automáticamente de cualquier URL nos da un potencial increíble para facilitarnos la toma de decisiones. Podríamos scrapear ad hoc webs enteras simplemente utilizando una hoja de cálculo.

Para llevar a cabo este ejercicio, utilizaremos Ebay como ejemplo, así tú también puedes ponerlo en práctica. Antes de ponernos a extraer los datos, abriremos un nuevo documento en Google Sheets y estructuraremos la hoja de cálculo por columnas:

  • A: Las URL que queremos analizar.
  • B: Los títulos de las páginas.
  • C: Las descripciones de las páginas.
  • D: Lo que creamos conveniente (ej.: h1).

Para poder obtener estos datos y que aparezcan en las columnas, necesitamos la funcionalidad «ImportXML«. Para cada columna vamos a crear diferentes funciones, para así obtener los datos de forma automática. Todas las columnas van a tirar de la Columna A, que es la URL desde dónde queremos extraer los datos:

  • Columna B: =ImportXML(A2;»//title»)
  • Columna C: La descripción está metida en una etiqueta «meta» y lo que queremos conseguir es el contenido, por lo que la fórmula se complicará un poco. También le añadiremos la función «sustituir» y char(10);»» para evitar los saltos de línea: =sustituir(ImportXML(A2;»//meta[@name=’description’]/@content»);char(10);»»)
  • Columna D: Ten en cuenta al meter la ruta XPath tras las dos barras el utilizar las comillas simples. Normalmente cuando se copia la ruta, se copia con doble comilla («») y Google Sheets no lo va a comprender.
Web Scraping

De esta manera, si sigues haciendo pruebas con la funciones, puedes llegar a tener controlada a la competencia (los precios, el contenido, etc.), extraer contenido no indexado de las páginas y mucho más.

Por otro lado, advertirte de que, si la página web que quieres analizar carga la información a través de Java Script, no será posible scrapearla de esta manera. La hoja de cálculo nos lanzará un «#ERROR» o un «#N/A», ya que no podrá leer la información del HTML.

Cómo extraer contenido específico automáticamente de Google

Google es una gran base de datos de la que podemos sacar mucho potencial. Para este ejemplo extraeremos palabras clave long tail de Google. Con esto obtendremos una herramienta totalmente personalizada, gratuita y automatizada, perfecta para darnos muchísimas pistas a la hora de generar contenido, lanzar nuevos productos o crear anuncios.

Para obtener esas long tail utilizaremos las sugerencia que Google nos ofrece en su buscador cada vez que metemos una palabra. Como hemos hecho en el anterior punto, aquí también organizaremos las columnas de la hoja de cálculo:

  • A: La palabra clave principal (ej.: marketing).
  • B: La URL de Google dónde se encuentra el archivo XML.
  • C: La concatenación entre la palabra clave y el archivo XML que nos va a crear la keyword long tail.

Asimismo, para este ejercicio utilizaremos la funcionalidad «ImportXML«, ya que Google utiliza archivos XML para publicar dichos resultados sugeridos.

Google XML

Para cada columna vamos a generar diferentes funciones para extraer las long tail de forma automática:

  • Columna A: En este ejemplo utilizaremos la palabra «marketing» que colocaremos en la casilla A2. Tras esta, en las siguientes casillas, empezaremos a crear un listado con todas las letras del abecedario. Para crear diferentes variantes de los resultados («marketing a», «marketing b», «marketing c», etc.) aplicaremos la siguiente fórmula para que no haya problemas a la hora de arrastras las casillas o modificar la palabra clave: =concatenar(A$2;» a»).
  • Columna B: En este apartado colocaremos la siguiente función que es la que nos deriva al archivo XML de Google desde donde vamos a extraer las long tail: =concatenar(«http://google.com/complete/search?output=toolbar&hl=es&q=»&A2)
  • Columna C: En esta columna concatenaremos la columna A con la B y la transpondremos para que las long tail que exportemos desde el «ImportXML» se ordenen en horizontal en vez de en vertical. Para ello, utilizaremos la siguiente fórmula, en la que sacaremos de la etiqueta «suggestion» del archivo XML el texto que haya dentro de «data»: =transponer(ImportXML(B2;»//suggestion/@data»))
LongTail Keywords

Y con esto ya lo tendríamos todo. Simplemente cambiando la palabra de la casilla A2 obtendríamos miles de variantes long tail de la misma. Ahora ya podemos sacar un listado de keywords actualizadas a tiempo real sin tener que comprar ninguna herramienta.

Estas «funcionalidades» también son aplicables para sacar información de las APIs de muchas herramientas como pueden ser Semrush, Sistrix, etc. Investiga un poco más para sacarle el máximo potencial a tu conocimiento y, por ende, a tu negocio.

Posts relacionados