Contenidos
¿Una forma completamente automatizada y sin errores de recopilar datos con Hojas de cálculo de Google parece demasiado buena para ser verdad?
Todos hemos estado en una situación en la que tuvimos que extraer datos de un sitio web en algún momento.
Al trabajar en una nueva cuenta o campaña, es posible que no tenga los datos o la información disponible para la creación de anuncios, por ejemplo.
En un mundo ideal, habríamos recibido todo el contenido, las páginas de destino y la información relevante que necesitamos, en un formato fácil de importar, como CSV, una hoja de cálculo de Excel o una hoja de cálculo de Google.. (O al menos, siempre que lo necesitemos como datos tabulados que se puedan importar a uno de los formatos antes mencionados).
Pero no siempre es así.
Aquellos que carecían de las herramientas para el web scraping, o el conocimiento de codificación para usar algo como Python para ayudar con la tarea, pueden haber tenido que recurrir al tedioso trabajo de copiar y pegar manualmente posiblemente cientos o miles de entradas.
En un trabajo reciente, se le pidió a mi equipo que:
- Ir al sitio web del cliente.
- Descarga más de 150 productos nuevos repartidos en 15 páginas diferentes.
- Copie y pegue el nombre del producto y la URL de la página de destino de cada producto en una hoja de cálculo.
Ahora, puede imaginar lo larga que hubiera sido la tarea si hubiéramos hecho exactamente eso y la hubiéramos ejecutado manualmente.
No solo lleva mucho tiempo, sino que si alguien revisa manualmente tantos elementos y páginas y tiene que copiar y pegar físicamente los datos producto por producto, las posibilidades de cometer un error o dos son bastante altas.
Entonces requeriría aún más tiempo para revisar el documento y asegurarse de que no tuviera errores.
Tiene que haber una mejor manera.
Buenas noticias: ¡Hay!
¿Qué es IMPORTXML?
Ingresa a Hojas de cálculo de Google. Me gustaría que conocieras la función IMPORTXML.
Según la página de soporte de Google, IMPORTXML «importa datos de cualquiera de los diversos tipos de datos estructurados, incluidos XML, HTML, CSV, TSV y RSS y ATOM XML». support page
Esencialmente, IMPORTXML es una función que le permite extraer datos estructurados de páginas web, sin necesidad de conocimientos de codificación.
Por ejemplo, es rápido y fácil extraer datos como títulos de página, descripciones o enlaces, pero también información más compleja.
¿Cómo puede IMPORTXML ayudar a raspar elementos de una página web?
La función en sí es bastante simple y solo requiere dos valores:
- La URL de la página web de la que pretendemos extraer o raspar la información.
XPath significa XML Path Language y se puede usar para navegar a través de elementos y atributos en un documento XML. XML Path Language
Por ejemplo, para extraer el título de la página de https://en.wikipedia.org/wiki/Moon_landing, usaríamos:
=IMPORTXML(“https://en.wikipedia.org/wiki/Moon_landing”, “//título”)
Esto devolverá el valor: Alunizaje – Wikipedia.
O, si estamos buscando la descripción de la página, prueba esto:
=IMPORTXML(“https://www.searchenginejournal.com/”,”//meta[@name=’description’]/@content”)
Aquí hay una lista de algunas de las consultas XPath más comunes y útiles:
- Título de la página: //título
- Meta descripción de la página: //meta[@name=’description’]/@content
- Página H1: //h1
- Enlaces de página: //@href
Ver IMPORTXML en acción
Desde que descubrimos IMPORTXML en Google Sheets, realmente se ha convertido en una de nuestras armas secretas en la automatización de muchas de nuestras tareas diarias, desde la creación de campañas y anuncios hasta la investigación de contenido y más.
Además, la función combinada con otras fórmulas y complementos se puede usar para tareas más avanzadas que de otro modo requerirían soluciones y desarrollo sofisticados, como herramientas integradas en Python.
Pero en este caso, veremos IMPORTXML en su forma más básica: extraer datos de una página web.
Veamos un ejemplo práctico.
Imagina que nos han pedido que creemos una campaña para Search Engine Journal.
Les gustaría que publicitáramos los últimos 30 artículos que se han publicado en la sección PPC del sitio web.
Una tarea bastante simple, se podría decir.
Lamentablemente, los editores no pueden enviarnos los datos y nos han pedido amablemente que consultemos el sitio web para obtener la información necesaria para configurar la campaña.
Como se mencionó al principio de nuestro artículo, una forma de hacerlo sería abrir dos ventanas del navegador: una con el sitio web y la otra con Hojas de cálculo de Google o Excel.. Luego comenzaríamos a copiar y pegar la información, artículo por artículo y enlace por enlace.
Pero al usar IMPORTXML en Hojas de cálculo de Google, podemos lograr el mismo resultado con poco o ningún riesgo de cometer errores, en una fracción del tiempo.
Así es cómo.
Paso 1: comience con una nueva hoja de Google
Primero, abrimos un nuevo documento de Google Sheets en blanco:
Paso 2: agregue el contenido que necesita raspar
Agregue la URL de la página (o páginas) de las que queremos extraer la información.
En nuestro caso, comenzamos con https://www.searchenginejournal.com/category/pay-per-click/:
Paso 3: Encuentra el XPath
Encontramos el XPath del elemento del que queremos importar el contenido en nuestra hoja de cálculo de datos.
En nuestro ejemplo, comencemos con los títulos de los últimos 30 artículos.
Dirígete a Chrome. Una vez que pase el cursor sobre el título de uno de los artículos, haga clic con el botón derecho y seleccione Inspeccionar.
Esto abrirá la ventana Herramientas de desarrollo de Chrome:
Asegúrese de que el título del artículo aún esté seleccionado y resaltado, luego haga clic con el botón derecho nuevamente y elija Copiar > Copiar XPath.
Paso 4: extraiga los datos en las hojas de Google
De vuelta en su documento de Hojas de cálculo de Google, introduzca la función IMPORTXML de la siguiente manera:
=IMPORTXML(B1,”//*[comienza-con(@id, ‘título’)]”)
Un par de cosas a anotar:
Primero, en nuestra fórmula, hemos reemplazado la URL de la página con la referencia a la celda donde se almacena la URL (B1).
En segundo lugar, al copiar el XPath de Chrome, siempre estará entre comillas dobles.
(//*[@id=”título_1″])
Sin embargo, para asegurarse de que no rompa la fórmula, el signo de comillas dobles deberá cambiarse por el signo de comillas simples.
(//*[@id=’título_1′])
Tenga en cuenta que en este caso, debido a que el título del ID de la página cambia para cada artículo (título_1, título_2, etc.), debemos modificar ligeramente la consulta y usar «comienza con» para capturar todos los elementos en la página con un ID que contiene
Esto es lo que se ve en el documento de Hojas de cálculo de Google:
Y en solo unos momentos, así es como se ven los resultados después de que la consulta haya cargado los datos en la hoja de cálculo:
Como puede ver, la lista muestra todos los artículos que aparecen en la página que acabamos de raspar (incluido mi artículo anterior sobre la automatización y cómo usar los personalizadores de anuncios para mejorar el rendimiento de la campaña de Google Ads).
También puede aplicar esto para eliminar cualquier otra información necesaria para configurar su campaña publicitaria.
Agreguemos las URL de la página de destino, el fragmento destacado de cada artículo y el nombre del autor en nuestro documento de Hojas de cálculo.
Para las URL de la página de destino, debemos modificar la consulta para especificar que buscamos el elemento HREF adjunto al título del artículo.
Por lo tanto, nuestra consulta se verá así:
=IMPORTXML(B1,”//*[comienza-con(@id, ‘título’)]/@href”)
Ahora, agregue ‘/@href’ al final del Xpath.
¡Voila!
Puede hacer lo mismo con los fragmentos destacados y los nombres de los autores:
Solución de problemas
Una cosa a tener en cuenta es que para poder expandir y completar completamente la hoja de cálculo con todos los datos devueltos por la consulta, la columna en la que se completan los datos debe tener suficientes celdas libres y ningún otro dato en el camino.
Esto funciona de manera similar a cuando usamos un ARRAYFORMULA, para que la fórmula se expanda no debe haber otros datos en la misma columna.
Conclusión
Y allí tiene una forma totalmente automatizada y sin errores de extraer datos de (potencialmente) cualquier página web, ya sea que necesite el contenido y las descripciones de los productos, o datos de comercio electrónico como el precio del producto o los costos de envío.
En una época en la que la información y los datos pueden ser la ventaja necesaria para ofrecer mejores resultados que el promedio, la capacidad de raspar páginas web y contenido estructurado de una manera fácil y rápida puede no tener precio.. Además, como hemos visto anteriormente, IMPORTXML puede ayudar a reducir los tiempos de ejecución y reducir las posibilidades de cometer errores.
Además, la función no es solo una gran herramienta que se puede usar exclusivamente para tareas de PPC, sino que puede ser realmente útil en muchos proyectos diferentes que requieren raspado web, incluidas las tareas de contenido y SEO.
Cuenta regresiva de Navidad 2021 SEJ:
Imagen destacada: Aleutie/Shutterstock
Leer el articulo original en Search Engine Journal.