Saltar al contenido
  • Inicio

  • Productividad

  • Consejos sobre aplicaciones

Consejos sobre aplicaciones

8 min de lectura

Cómo usar IMPORTXML en Hojas de cálculo de Google

Por Abigail Sims · Noviembre 4, 2024
Una imagen principal para consejos de la aplicación Hojas de cálculo de Google con el logotipo de Hojas de cálculo de Google sobre fondo verde

Explorar datos en Internet me hace sentir como un arqueólogo. Con un pico metafórico en una mano y un pincel en la otra, desentierro cuidadosamente cada elemento y lo coloco en Hojas de cálculo de Google para revisarlo. Si bien esto me permite vivir 1999 sueños de recreación de La Momia , hay un inconveniente: lleva una eternidad. 

En lugar de buscar manualmente datos básicos como nombres, direcciones o etiquetas de título en páginas web, puede tocar la función IMPORTXML de Hojas de cálculo de Google para automatizar toda esa búsqueda cuidadosa en una transferencia de datos perfecta (casi mágica). 

A continuación, le mostramos cómo utilizar IMPORTXML en Hojas de cálculo de Google y hacer que la recopilación manual de datos sea cosa del pasado.

Tabla de contenido:

  • ¿Qué es la función IMPORTXML en Hojas de cálculo de Google?

  • Cómo utilizar la función IMPORTXML

  • Ejemplo de importación de datos a Hojas de cálculo de Google con IMPORTXML

  • Funciones relacionadas con Hojas de cálculo de Google

  • Consejos para IMPORTXML

  • Automatizar Hojas de cálculo de Google con Zapier

  • Preguntas frecuentes sobre IMPORTXML

¿Qué es la Function IMPORTXML en Hojas de cálculo de Google?

La función IMPORTXML es una herramienta de Google Sheets que le permite importar datos web estructurados directamente a su hoja de cálculo. La función es =IMPORTXML(url, "xpath"). Todo lo que realmente necesita saber es dónde se encuentran los datos que está buscando y luego puede ingresar la URL de destino y una consulta XPath que especifique los datos que desea extraer de la página web en esa función principal. 

Si todo esto te suena a klingon, todavía estás en esto, te lo prometo. Para utilizar IMPORTXML se necesitan conocimientos básicos de XML y HTML, pero lo abordaré aquí: si yo puedo hacerlo, usted puede hacerlo. 

A continuación se muestran algunos términos que debe comprender para utilizar IMPORTXML: 

  • HTML: El lenguaje de marcado básico que indica a los navegadores cómo mostrar la información. Un elemento HTML consta de una etiqueta de inicio, contenido y una etiqueta final.

    • Ejemplo: <p>Algo</p>

  • XML: un lenguaje de etiqueta y formato de archivo para la gestión de datos. Es similar a HTML, pero tú defines tus propias etiquetas. 

    • Ejemplo: <name>Juan</name>

  • Etiqueta: Tanto en HTML como en XML, una etiqueta es el marcado utilizado para indicar el inicio y el final de un elemento. Las etiquetas están encerradas entre corchetes angulares.

    • Ejemplos: <tag> </tag> 

  • XPath: una expresión utilizada para navegar por XML y especificar rutas. Así es como le indicas a Sheets de qué lugar extraer datos en una página web. 

    • Ejemplo (en negrita): =importxml("https://en.wikipedia.org/wiki/Lista_de_códigos_postales_de_Canadá", "//td")

Cómo utilizar la función IMPORTXML en Hojas de cálculo de Google

Primero, cubriré un resumen de muy alto nivel sobre cómo hacer esto. A continuación, analizaremos un ejemplo que hará que esto tenga más sentido y le mostrará algunas de las posibilidades realmente interesantes (si realmente le interesan los datos web) de IMPORTXML.

  1. Encuentra la página web. Navegue hasta la página web que contiene los datos que desea importar.

  2. Inspeccionar elemento. Haga clic con el botón derecho en una parte en blanco de la página web y haga clic en Inspeccionar para examinar la estructura HTML de la página web.

  3. Identifique las etiquetas: busque las etiquetas que contienen los datos que desea, como <td> para las celdas de datos de la tabla.

  4. Introduzca la fórmula IMPORTXML. En una celda de Google Sheet, ingrese la función =IMPORTXML(url, "xpath"). Actualice la función IMPORTXML con la URL en lugar de url. Entre las comillas, reemplace xpath con dos barras seguidas de las etiquetas que acaba de identificar.

  5. Personaliza tus datos. Extraiga solo ciertos elementos de la tabla, aplique un filtro a sus datos y limpie el conjunto de datos restante. 

Esto debería completar su hoja con los datos entre las etiquetas que identificó a partir de la URL que ingresó. 

Tenga en cuenta que es posible que se le solicite permitir el acceso a una página web externa; si eso sucede, simplemente haga clic en Aceptar.

Ejemplo de importación de datos a Hojas de cálculo de Google con IMPORTXML 

Las tablas de Wikipedia son una excelente forma de practicar IMPORTXML, así que veamos un ejemplo de extracción de una lista de códigos postales y distritos de ciudades de Wikipedia. También te mostraré cómo obtener datos aún más específicos para que puedas ver cómo manipular los resultados para obtener exactamente lo que necesitas.

1. Encuentra los datos que quieres importar

En este ejercicio, obtendré todos los códigos postales de Edmonton, Alberta. Abra esa página en una nueva ventana del navegador si desea seguirla.

2. Inspeccionar el HTML en la página web 

Haga clic derecho en una celda de código postal en la página y seleccione Inspeccionar para ver el código fuente HTML en su navegador. 

Captura de pantalla de la inspección de la página de Wikipedia

3. Identificar las etiquetas

Verifique la etiqueta que contiene los datos en cuestión, que en este caso es <td> : esta es la etiqueta que contiene todos los datos de una celda.

Si te encuentras viendo un código que dice <b>, estás en el lugar equivocado: es un código de formato para el texto en sí. Desea la etiqueta <td>, o datos de la tabla, ya que extraerá todos los datos dentro de una tabla. Puede utilizar la función de búsqueda dentro del menú Inspeccionar para localizar el área que desea extraer. 

Captura de pantalla del panel de inspección en la página Wiki

4. Introduzca la función IMPORTXML

En una nueva hoja de cálculo de Google, importe todos los códigos postales. Para ello, seleccione una celda e ingrese la fórmula:

=IMPORTXML("https://en.wikipedia.org/wiki/Lista_de_códigos_postales_de_Canadá", "//td")

Como recordatorio, esa es la función =IMPORTXML(url, "xpath"), pero hemos reemplazado url con la URL de la página web y hemos reemplazado xpath con dos barras y la etiqueta.

Si se lo solicita, haga clic en Permitir acceso (¡asumiendo que confía en el sitio desde el que está importando!). Esto completará todos los códigos postales en nuestra página original de Wikipedia (todos los datos contenidos en la etiqueta <td> ).

Captura de pantalla de la función importxml

5. Personaliza tus datos

Si nunca has visto HTML en tu vida, esta sección puede resultar un poco aterradora, pero simplemente sigue estos pasos y estarás bien.

Extraer solo la ciudad principal

¿Qué pasa si solo quieres capturar la ciudad principal asociada con el código postal? Nuestra primera consulta arrojó muchos datos adicionales. 

To narrow the scope, we can change the XPath query to "//td/span/a[1]". This will just pull the city linked to each postal code into our sheet—because we're specifying that we want to look within those table data cells for a "span" tag that contains an <a> (anchor) tag, which is where the city names are found in the HTML. 

Captura de pantalla de la lista de ciudades principales únicamente

Extraer solo el código postal

También podemos extraer los códigos postales. Para hacer eso, actualizaremos esta consulta XPath a "//td/b[1]"

Aquí, sabemos que /b[1] apunta solo a los códigos postales porque al inspeccionar el código fuente HTML se revela que los códigos postales están incluidos dentro de la primera etiqueta <b> dentro de cada celda de la tabla <td> .

Captura de pantalla de códigos postales

Filter para Edmonton

Para encontrar los códigos postales de Edmonton, Alberta, utilizaremos una consulta aún más específica. 

Modificaremos la consulta XPath a "//td[span/a='Edmonton']/b[1]". Esto devolverá solo los códigos postales que incluyan "Edmonton" en el campo td/span/a[1] , ya que es ahí donde podemos ver que los nombres de las ciudades están alojados en el código de la página. 

Captura de pantalla de los datos de Edmonton

Extraer nombres de barrios

A continuación, ampliaremos este conocimiento extrayendo los nombres de los vecindarios y colocándolos en la columna junto a los códigos postales. Para obtener los nombres de los vecindarios que siguen a "Edmonton", usaremos esta consulta XPath: "//td[span/a='Edmonton']/span[1]".

Captura de pantalla de los datos del vecindario

Como puedes ver, de repente se trata de una gran cantidad de datos. Esta función toma todo el contenido de span[1] y usa paréntesis y barras para dividirlo, uniendo "Edmonton" en la primera columna y cada nombre de vecindario en las columnas siguientes.

Limpiar el conjunto de datos

Desde aquí, podemos limpiar las cosas reorganizando nuestros datos en columnas para código postal, ciudad y vecindario. Esto nos dará un bonito y nítido conjunto de datos que podemos usar para prácticamente cualquier cosa, siempre y cuando esa cosa requiera nombres de vecindarios en Edmonton.

Dado que los datos en cuestión abarcan desde la columna B a la columna J, puede utilizar las funciones DIVIDIR y CONCATENAR para esto: =SPLIT(concatenate(B2:J2),"(/)").

Simplemente desplácese y use esta función unas cuantas columnas más arriba o unas cuantas filas más abajo. Puede hacer esto para todos los datos que desee limpiar y eliminar el exceso de espacios o puntuación. 

Y aquí lo tienes: nuestra lista de códigos postales y distritos de la ciudad de Edmonton. 

Funciones relacionadas con Hojas de cálculo de Google

Las funciones de Hojas de cálculo de Google son tan geniales que parecen sacadas de una película, y hay muchas más. Aquí hay algunas funciones más que funcionan de manera similar a IMPORTXML, ya que se pueden usar para importar datos de una fuente a una hoja. 

Extiende tus nuevas alas XPath con una de estas funciones relacionadas: 

  • IMPORTHTML: Importa datos de una tabla o lista HTML en una página web. (Muy similar a lo que acabamos de hacer, pero para tablas HTML completas).

  • RANGO DE IMPORTACIÓN: Importa un rango de celdas de una hoja de cálculo de Google Sheets a otra. (Facilita la combinación de datos de Hojas de cálculo). 

  • IMPORTDATA: Importa datos de un archivo CSV o TSV alojado en una URL web.

  • IMPORTFEED: importa contenido desde una fuente RSS , ideal para sitios de noticias si desea crear una fuente en vivo en su hoja de cálculo. 

  • GOOGLEFINANCE: Importa datos actuales o históricos del mercado financiero directamente desde Google Finance.

Consejos para IMPORTXML

Si has llegado hasta aquí, probablemente ya seas un experto en Hojas de cálculo y no necesites más consejos míos. Pero por si acaso, aquí hay algunas prácticas recomendadas para trabajar con funciones como IMPORTXML. 

  • Utilice la función Inspeccionar: utilice Inspeccionar elemento en su navegador web para ver la estructura HTML de la página antes de extraer los datos. Haga clic derecho en el elemento de la página web que desea importar y seleccione Inspeccionar en el menú de su navegador. Esto le permite ver todas las etiquetas incluidas, lo que potencialmente puede ayudar a que su consulta sea más específica. 

  • Verifique dos veces su URL: asegúrese siempre de que la URL en su fórmula IMPORTXML sea la URL completa, no solo el slug o la mayor parte de este. Y sí, esto incluye el prefijo http:// o https:// . (No hablaremos de cuántas veces he arruinado esto.)

  • Sea específico: La segmentación de datos realmente específicos con su consulta suele ser mejor que extraer rangos de datos masivos. Utilice consultas precisas para extraer exactamente sólo los datos que necesita, ni más ni menos. 

  • Use una hoja de prueba: me gusta configurar una hoja de Google separada para probar mis funciones IMPORTXML antes de implementarlas porque no hay forma de no arruinarla la primera vez. Esto me ayuda a asegurarme de que mi consulta funciona correctamente antes de agregarla a mi hoja de cálculo real con todos los datos muy importantes. 

Automatizar Hojas de cálculo de Google con Zapier

La función IMPORTXML es un regalo para los entusiastas de los datos de todo el mundo. Hace que la recopilación manual de datos, al menos en la web, sea cosa del pasado momificado, para que puedas pasar más tiempo admirando tus hermosas Hojas de cálculo.

Y si eso aún no es suficiente, puedes explorar las integraciones de Google Sheets de Zapier. Zapier te permite conectar Hojas de cálculo con miles de otras aplicaciones, automatizando las importaciones desde formularios, eventos y cualquier otro lugar donde tengas datos. Obtenga más información sobre cómo automatizar Hojas de cálculo de Google o consulte algunas de estas plantillas prediseñadas.

Guardar nuevos correos electrónicos de Gmail que coincidan con ciertas características en una hoja de cálculo de Google

Guardar nuevos correos electrónicos de Gmail que coincidan con ciertas características en una hoja de cálculo de Google
  • Gmail logotipo
  • Google Sheets logotipo
Gmail + Google Sheets

Crear filas de Hojas de cálculo de Google para nuevos clientes futuribles de Google Ads

Crear filas de Hojas de cálculo de Google para nuevos clientes futuribles de Google Ads
  • Google Ads logotipo
  • Google Sheets logotipo
Google Ads + Google Sheets

Agregar nuevos clientes futuribles de Facebook Lead Ads a las filas en Google Sheets

Agregar nuevos clientes futuribles de Facebook Lead Ads a las filas en Google Sheets
  • Facebook Lead Ads logotipo
  • Google Sheets logotipo
Facebook Lead Ads + Google Sheets

Enviar correos electrónicos a través de Gmail cuando se actualicen las filas de Hojas de cálculo de Google

Enviar correos electrónicos a través de Gmail cuando se actualicen las filas de Hojas de cálculo de Google
  • Google Sheets logotipo
  • Gmail logotipo
Google Sheets + Gmail

Zapier es la plataforma de orquestación de IA más conectada: se integra con miles de aplicaciones de socios como Google, Salesforce y Microsoft. Utilice interfaces, tablas de datos y lógica para crear sistemas seguros, automatizados y con tecnología de IA para sus flujos de trabajo críticos para el negocio en toda la pila tecnológica de su organización. Más información.

Preguntas frecuentes sobre IMPORTXML

¿Cuál es la alternativa a IMPORTXML en Google Sheets?

Si está buscando una alternativa a IMPORTXML, puede utilizar la función similar, IMPORTHTML. Es menos preciso que IMPORTXML y se utiliza principalmente para tablas o listas. También puedes utilizar una herramienta de terceros si tu objetivo es el raspado weba gran escala, o escribir tu propio script. 

¿Cómo puedo actualizar IMPORTXML en Hojas de cálculo de Google?

Para actualizar IMPORTXML en Hojas de cálculo, haga clic en cualquier celda que contenga la función y presione Entrar o retorno. Esto recalculará manualmente la fórmula y actualizará los datos. Los datos también se actualizan cada vez que realiza un cambio en la fórmula, o puede utilizar un complemento o un script personalizado que actualizará automáticamente la hoja. 

¿Con qué frecuencia se actualiza IMPORTXML?

Tan a menudo como quieras. La función IMPORTXML no se actualiza automáticamente, pero es fácil actualizarla cuando quieras trigger it. Los triggers de actualización incluyen presionar la tecla Enter o Return en una celda que contiene la función, editar otras celdas cercanas o cambiar la fórmula. La función también puede actualizarse si contiene un elemento dinámico como NOW(), ya que esos elementos se actualizan automáticamente. 

Lecturas relacionadas:

  • Ideas de automatización de Hojas de cálculo de Google para organizar tu negocio

  • Formularios de Google a Hojas de cálculo de Google: Cómo actualizar automáticamente el inventario

  • ¿Qué significa error de análisis de fórmula en Hojas de cálculo de Google? (Y cómo solucionarlo)

  • Cómo conectar ChatGPT con Hojas de cálculo de Google

  • Las mejores herramientas de recopilación de datos

Este artículo fue publicado originalmente por Allana Mayer en 2017. La actualización más reciente fue en noviembre 2024.

Recibe consejos para mejorar la productividad directamente en tu bandeja de entrada

Te enviaremos correos electrónicos 1-3 veces por semana y nunca compartiremos tu información.

etiquetas
aplicaciones mencionadas

Artículos relacionados

Mejora tu productividad automáticamente. Usa Zapier para que tus aplicaciones trabajen juntas.

Regístrate
Descubre cómo funciona Zapier
Un Zap con el trigger «Cuando consigo un nuevo cliente potencial de Facebook» y la acción «Notificar a mi equipo en Slack».