Cómo utilizar Google Sheets para web scraping y creación de campañas


Nota del editor: Al final de 2021, lo celebramos con una cuenta regresiva de 12 días de Navidad de los artículos de expertos más populares y útiles de Search Engine Journal de este año.

Esta colección fue seleccionada por nuestro equipo editorial en función del rendimiento, la utilidad, la calidad y el valor creado para ustedes, nuestros lectores, de cada artículo.

Todos los días hasta el 24 de diciembre, volveremos a publicar una de las mejores columnas del año, comenzando en el n. ° 12 y contando hacia atrás hasta el n. ° 1. Nuestra cuenta regresiva comienza hoy con nuestra columna n. ° 5, que se publicó originalmente el 4 de agosto. , 2021.

Esta guía práctica de Andrea Atzori enseña a los lectores cómo utilizar Google Sheets para raspado web y creación de campañas, sin necesidad de tener experiencia en codificación.

¡Disfrutar!


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.

Anuncio publicitario

Continuar leyendo a continuación

En un mundo espiritual, se nos habría proporcionado todo el contenido, las páginas de destino y la información relevante que necesitamos, en un formato fácil de importar, como un CSV, una hoja de cálculo de Excel o una hoja de Google. (O al menos, siempre que necesitemos datos en pestañas que se puedan importar a uno de los formatos mencionados anteriormente).

Pero no siempre es así.

Aquellos que carecen de las herramientas para raspar la web, 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:

  • Vaya al sitio web del cliente.
  • Descargue 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 habría sido la tarea si hubiéramos hecho exactamente eso y la hubiéramos ejecutado manualmente.

Anuncio publicitario

Continuar leyendo a continuación

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 uno o dos errores son bastante altas.

Luego, requeriría aún más tiempo para revisar el documento y asegurarse de que esté libre de errores.

Tiene que haber una mejor manera.

Buenas noticias: ¡la hay! Déjame mostrarte cómo lo hicimos.

¿Qué es IMPORTXML?

Ingrese a Hojas de cálculo de Google. Me gustaría que conocieras la función IMPORTXML.

Según Google Pagina de soporte, IMPORTXML «importa datos de varios tipos de datos estructurados, incluidos XML, HTML, CSV, TSV y feeds RSS y ATOM XML».

Básicamente, 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 eliminar 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.
  • Y el XPath del elemento en el que están contenidos los datos.

XPath significa Lenguaje de ruta XML y se puede utilizar para navegar a través de elementos y atributos en un documento XML.

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: Aterrizaje en la luna – Wikipedia.

O, si estamos buscando la descripción de la página, intente esto:

= IMPORTXML («https://www.searchenginejournal.com/», «// meta[@name=’description’]/@contenido»)

Página de inicio de SEJ Meta descripción extraída con IMPORTXML.

A continuación, se incluye una lista breve de algunas de las consultas XPath más comunes y útiles:

Anuncio publicitario

Continuar leyendo a continuación

  • Título de la página: // título
  • Meta descripción de la página: // meta[@name=’description’]/@contenido
  • Página H1: // h1
  • Enlaces de página: // @ href

Vea IMPORTXML en acción

Desde que descubrí 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 utilizar 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.

Echemos un vistazo a un ejemplo práctico.

Imagine que nos han pedido que creemos una campaña para Search Engine Journal.

Quieren que anunciemos los últimos 30 artículos que se han publicado en la sección PPC del sitio web.

Anuncio publicitario

Continuar leyendo a continuación

Una tarea bastante simple, podría decirse.

Desafortunadamente, los editores no pueden enviarnos los datos y nos han pedido amablemente que nos refiramos al sitio web para obtener la información necesaria para configurar la campaña.

Como se mencionó al comienzo de nuestro artículo, una forma de hacerlo sería abrir dos ventanas del navegador: una con el sitio web y la otra con Google Sheets 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 Google Sheets, 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 Hojas de cálculo de Google en blanco:

Comience con un documento de Google Sheets en blanco.

Paso 2: agregue el contenido que necesita para raspar

Agregue la URL de la página (o páginas) de las que queremos extraer la información.

Anuncio publicitario

Continuar leyendo a continuación

En nuestro caso, comenzamos con https://www.searchenginejournal.com/category/pay-per-click/:

Agregue la URL de la página que desea raspar.Captura de pantalla tomada de Google Sheets, julio de 2021

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 coloque el cursor sobre el título de uno de los artículos, haga clic con el botón derecho y seleccione Inspeccionar.

Abra la herramienta Chrome WebDev.Captura de pantalla de SearchEngineJournal.com, julio de 2021

Esto abrirá la ventana Herramientas de desarrollo de Chrome:

Busque y copie el elemento XPath que desea extraer.Captura de pantalla de SearchEngineJournal.com, julio de 2021

Asegúrese de que el título del artículo aún esté seleccionado y resaltado, luego haga clic derecho nuevamente y elija Copiar> Copiar XPath.

Anuncio publicitario

Continuar leyendo a continuación

Paso 4: extraiga los datos en hojas de Google

De vuelta en su documento de Google Sheets, introduzca la función IMPORTXML de la siguiente manera:

= IMPORTXML (B1, ”// *[starts-with(@id, ‘title’)]»)

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).

Segundo, al copiar XPath desde Chrome, siempre se incluirá entre comillas dobles.

(// *[@id=”title_1″])

Sin embargo, para asegurarse de que no rompa la fórmula, el signo de comillas dobles deberá cambiarse al signo de comillas simples.

(// *[@id=’title_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 «empieza con» para capturar todos los elementos de la página con un ID que contenga ‘título.’

Esto es lo que se ve en el documento de Hojas de cálculo de Google:

Un ejemplo de IMPORTXML.Captura de pantalla tomada de Google Sheets, julio de 2021

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:

Títulos importados en Google Sheets.Captura de pantalla tomada de Google Sheets, julio de 2021

Como puede ver, la lista devuelve todos los artículos que aparecen en la página que acabamos de extraer (incluido mi artículo anterior sobre automatización y cómo usar Personalizadores de anuncios para mejorar el rendimiento de las campañas de Google Ads).

Anuncio publicitario

Continuar leyendo a continuación

También puede aplicar esto para extraer cualquier otro dato que necesite 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, necesitamos modificar la consulta para especificar que estamos detrás del elemento HREF adjunto al título del artículo.

Por lo tanto, nuestra consulta se verá así:

= IMPORTXML (B1, ”// *[starts-with(@id, ‘title’)]/ @ href ”)

Ahora, agregue ‘/ @ href’ al final del XPath.

Importe los enlaces del artículo.Captura de pantalla tomada de Google Sheets, julio de 2021

¡Voila! De inmediato, tenemos las URL de las páginas de destino:

Artículos y URL importados en Hojas de cálculo de Google.Captura de pantalla tomada de Google Sheets, julio de 2021

Puede hacer lo mismo con los fragmentos destacados y los nombres de los autores:

Todos los datos se recogen e importan en Google Sheets.Captura de pantalla tomada de Google Sheets, julio de 2021

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.

Anuncio publicitario

Continuar leyendo a continuación

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 del producto, o datos de comercio electrónico, como el precio del producto o los costos de envío.

En un momento en el que la información y los datos pueden ser la ventaja necesaria para ofrecer resultados mejores que el promedio, la capacidad de extraer 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 acortar 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 utilizar exclusivamente para Tareas de PPC, pero en cambio puede ser realmente útil en muchos proyectos diferentes que requieren web scraping, incluidas tareas de contenido y SEO.

2021 SEJ Christmas Countdown:

Anuncio publicitario

Continuar leyendo a continuación

Imagen destacada: Aleutie / Shutterstock





Consultar el artículo en la publicación original

Cómo utilizar Google Sheets para web scraping y creación de campañas