Una de las ca­ra­c­te­rí­s­ti­cas más im­po­r­ta­n­tes de Google Sheets, también llamada Hojas de cálculo de Google, es la capacidad de importar di­re­c­ta­me­n­te contenido de los sitios web: la función importXML() de Google Sheets extrae el contenido es­tru­c­tu­ra­do de un sitio web y lo tra­n­s­fie­re a la hoja de cálculo de Google que quieras.

Hecho

Google Sheets y Excel son dos programas de hojas de cálculo que presentan muchas si­mi­li­tu­des, pero que también difieren en algunos aspectos básicos, como te ex­pli­ca­mos en nuestra co­m­pa­ra­ti­va de Excel y Google Sheets.

La función de im­po­r­ta­ción “XML to Google Sheets” te será ex­tre­ma­da­me­n­te útil si quieres crear tablas a partir de datos di­s­po­ni­bles en Internet. En este artículo apre­n­de­rás a apro­ve­char esta po­si­bi­li­dad y te daremos algunas ideas para emplear co­rre­c­ta­me­n­te esta práctica función de Google Sheets.

Ex­pli­ca­ción fácil de la función importXML() de Google Sheets

La función importXML() extrae los datos es­tru­c­tu­ra­dos de los proyectos web y los introduce en las celdas de una hoja de cálculo de Google.

Para ello, debes escribir la siguiente función en el software de Google:

=importXML(URL, XPath)

En Google Sheets, importXML() tiene solo dos pa­rá­me­tros:

  • URL: la dirección web de la que quieres obtener los datos. Resulta más fácil si la copias di­re­c­ta­me­n­te en la barra de di­re­c­cio­nes del navegador.
  • XPath: indica el campo de la hoja donde se im­po­r­ta­rán los datos.
Consejo

En­co­n­tra­rás in­fo­r­ma­ción detallada sobre XPath en nuestro tutorial de XPath.

Si indicas los pa­rá­me­tros di­re­c­ta­me­n­te en la función, debes ponerlos entre comillas. No obstante, es más fácil escribir los dos pa­rá­me­tros (sin comillas) en dos celdas de la tabla y, luego, hacer re­fe­re­n­cia a ellos en la fórmula. De esta manera, evitas tener que poner las comillas.

Google Workspace (antes G Suite)
Trabajar juntos ahora es más fácil que nunca
  • Todas las he­rra­mie­n­tas de Google que conoces en un solo lugar
  • Configura Gmail para tu negocio con tu dominio
  • Usar Gmail con tu dominio de IONOS

Usos en Google Sheets de importXML

La función importXML() se puede utilizar con muchos fines. Las si­guie­n­tes cuatro posibles apli­ca­cio­nes son es­pe­cia­l­me­n­te in­te­re­sa­n­tes:

  • Crear listas de enlaces
  • Analizar datos es­tru­c­tu­ra­dos de páginas web
  • Extraer contenido de texto
  • Tra­n­s­fe­rir tablas HTML

En los si­guie­n­tes apartados, uti­li­za­re­mos estas cuatro opciones de uso para explicar cómo im­ple­me­n­tar importXML en Google Sheets.

Consejo

En IONOS puedes adquirir Google Sheets como parte de la Google Workspace (antes G Suite). El paquete también incluye tu propio dominio gratuito.

Crear listas de enlaces

A veces queremos mostrar una lista bien or­ga­ni­za­da con di­re­c­cio­nes web in­te­re­sa­n­tes, que incluya el URL, el nombre de la página y una breve de­s­cri­p­ción que llame la atención. Para nuestro ejemplo, uti­li­za­re­mos la página web Nodesign, que presenta una selección de enlaces de he­rra­mie­n­tas gráficas para de­sa­rro­lla­do­res con poca o ninguna ex­pe­rie­n­cia en diseño. Los enlaces aparecen en cuadros, cada uno con una imagen, un título y una breve de­s­cri­p­ción. La selección de la página consta ac­tua­l­me­n­te de más de 140 elementos.

Queremos utilizar esta página para crear una lista de enlaces clara en Google Sheets con importXML(), por lo que hacemos lo siguiente:

  1. Averiguar el contenido del código fuente de la página web

En este caso, ne­ce­si­ta­mos el URL, el texto de anclaje (es decir, la de­s­cri­p­ción del enlace) y la breve de­s­cri­p­ción. Para ello, abrimos la he­rra­mie­n­ta de de­sa­rro­llo del navegador (tecla F12 o clic derecho del ratón y, a co­n­ti­nua­ción, “In­s­pe­c­cio­nar”) y se­le­c­cio­na­mos el primer cuadro. Allí en­co­n­tra­mos la in­fo­r­ma­ción necesaria bajo la etiqueta <h5>: el URL (1), el texto de anclaje del enlace (2) y la breve de­s­cri­p­ción (3).

  1. Definir el XPath

En segundo lugar, definimos la in­fo­r­ma­ción de la ruta (XPath) para los tres elementos:

URL. El URL es un atributo de la etiqueta <a>, que se encuentra debajo de la etiqueta <h5>. Por lo tanto, el XPath queda así:

//h5/a/@href

Texto de anclaje. El texto de anclaje es el contenido de la etiqueta <a> me­n­cio­na­da más arriba: //h5/a. Tomamos el XPath de arriba, omitiendo el atributo @href.

Breve de­s­cri­p­ción. Este XPath es un poco más co­m­pli­ca­do, porque no se encuentra en el mismo nivel je­rá­r­qui­co que la etiqueta <a>. Si nos limitamos a tomar el párrafo <p> como XPath, los textos ya no coinciden con el URL. Por lo tanto, definimos el párrafo que contiene la de­s­cri­p­ción como el elemento que sigue a la etiqueta <h5> en el mismo nivel je­rá­r­qui­co:

//h5/following-sibling::p
  1. Im­ple­me­n­tar la función en la hoja de cálculo de Google

A co­n­ti­nua­ción, es­cri­bi­mos el comando importXML() en una columna de la tabla para cada uno de los tres elementos. Ten en cuenta que solo hay que hacerlo en la primera fila, ya que el programa carga las filas restantes au­to­má­ti­ca­me­n­te. La fórmula en sí también se so­bre­s­cri­be con contenido.

Para no ol­vi­dar­nos de la fórmula que hemos utilizado, in­se­r­ta­mos una fila en blanco arriba del todo y volvemos a in­tro­du­cir la fórmula a modo de in­fo­r­ma­ción, esta vez con un apóstrofe al principio para que no se ejecute, sino que se trate como texto puro.

Ahora puedes seguir editando la tabla como de costumbre; cada celda contendrá los datos reales y no la fórmula.

Excel con Microsoft 365 para empresas y IONOS
El Office que conoces, pero mejor

Potente apli­ca­ción de e-mail Exchange y las versiones más actuales de tus apli­ca­cio­nes favoritas de Office desde cualquier di­s­po­si­ti­vo. Empieza ahora con nuestro servicio de co­n­fi­gu­ra­ción gratuito.

Analizar datos es­tru­c­tu­ra­dos de páginas web

La lista de enlaces que hemos generado en el paso anterior se puede analizar de varias maneras si es necesario. Por ejemplo, para cada URL se puede obtener el me­ta­tí­tu­lo, la me­ta­de­s­cri­p­ción, el idioma y la co­di­fi­ca­ción, todo ello in­fo­r­ma­ción relevante para fines de SEO.

Para ello, es­cri­bi­mos los datos del XPath en la primera fila e in­tro­du­ci­mos la función en la segunda fila (en el ejemplo, en la segunda columna):

=importXML($A2,B$1)

La fórmula toma el URL de la primera columna y el XPath de la primera fila. Para expandir la fórmula hacia abajo y hacia la derecha, es­ta­ble­ce­mos la primera columna y la primera fila como re­fe­re­n­cia absoluta (símbolo $).

Nota

Las entradas #NV indican que la in­fo­r­ma­ción que se buscaba no se ha en­co­n­tra­do en la página web.

Para de­s­vi­n­cu­lar la tabla de los sitios web co­rre­s­po­n­die­n­tes, podemos se­le­c­cio­nar­la, copiarla y pegarla en una nueva hoja con el atajo de teclado [Mayús] + [Ctrl] + [V].

Extraer contenido de texto

Debido a los avances en el re­co­no­ci­mie­n­to de texto mediante la in­te­li­ge­n­cia ar­ti­fi­cial, también conocida como pro­ce­sa­mie­n­to del lenguaje natural, está au­me­n­ta­n­do la necesidad de extraer mayores ca­n­ti­da­des de texto de sitios web para ana­li­zar­lo.

Un buen ejemplo de ello son los pe­rió­di­cos, los agre­ga­do­res de noticias y las páginas de resumen de prensa, que pro­po­r­cio­nan in­fo­r­ma­ción valiosa para los análisis de te­n­de­n­cias.

Para mostrarte este uso de la función, uti­li­za­re­mos la página de resumen de prensa newstral.com/en. Solo queremos extraer una lista de todos los titulares. Para ello, pro­ce­de­mos de la siguiente manera:

  1. Averiguar el contenido del código fuente de la página web

En la he­rra­mie­n­ta de de­sa­rro­llo (tecla de función F12 o clic con el botón derecho del ratón e “In­s­pe­c­cio­nar”) se­le­c­cio­na­mos un titular y vemos cómo está es­tru­c­tu­ra­do. La es­tru­c­tu­ra en este caso es muy sencilla: el título es el texto de anclaje del enlace (última fila):

  1. Definir el XPath

Para que solo se importen los titulares y no todos los demás enlaces de la página de inicio, tenemos que es­pe­ci­fi­car el XPath de forma un poco más precisa: solo se deben encontrar las etiquetas <a> de la clase “headline” y, entre ellas, solo aquellas dentro de la categoría “headlines-container”.

//div[@class="headlines-container"]/ul/li/span/a[@class="headline"]
  1. Utilizar la función en las Hojas de cálculo de Google

In­tro­du­ci­mos el URL y el XPath en una hoja de cálculo de Google vacía, en la columna de la izquierda. Así los tendremos a mano para escribir fá­ci­l­me­n­te la función:

(Celda B1) =importXML(A1,A2)
(Celda B2) =importXML(A1,A3)

El resultado es una lista con los titulares. Lo mejor es que esta lista se puede ac­tua­li­zar en cualquier momento con F5 para que siempre muestre el contenido más reciente.

Consejo

¿Quieres aprender más trucos de las Hojas de cálculo de Google? Descubre cómo crear listas de­s­ple­ga­bles en Google Sheets.

Tra­n­s­fe­rir tablas HTML

Basta con una sola fórmula para importar una tabla de un sitio web a Google Sheets. Tomaremos, por ejemplo, una tabla en un artículo de Wikipedia sobre los modelos de Samsung Galaxy: para im­po­r­tar­la, solo ne­ce­si­ta­mos la etiqueta <table> en el XPath. Antes, sin embargo, tenemos que averiguar cuántas etiquetas <table> hay antes de la que nos interesa. La tabla que buscamos es la tercera de esa página web. De este modo, la fórmula quedaría así:

=importXML(“https://es.wikipedia.org/wiki/Samsung_Galaxy”, “//table[3]/tbody/*”)

¡Listo! Con una sola fórmula en la celda B1, hemos importado co­rre­c­ta­me­n­te la tabla con todas las filas y columnas a la hoja de cálculo.

Como puedes ver, la función de im­po­r­ta­ción “XML to Google Sheets” es ex­tre­ma­da­me­n­te versátil y ahorra mucho tiempo y esfuerzo.

Nota

Muchas redes sociales y grandes mi­no­ri­s­tas en línea como Amazon prohíben el web scraping. Por lo tanto, conviene que leas los términos de uso de esas pla­ta­fo­r­mas antes de probar lo que has aprendido en este tutorial.

Ir al menú principal