Cómo usar Google Sheets para raspar páginas web y crear campañas

Todos hemos estado en una situación en la que tuvimos que extraer datos de un sitio web en algún momento.

Cuando está trabajando en una nueva cuenta o campaña, es posible que no tenga los datos o la información disponible para crear anuncios, por ejemplo.

En un mundo ideal, obtendríamos todo el contenido, las páginas de destino y la información relevante que necesitamos en un formato fácilmente importable como CSV, hoja de cálculo de Excel o hoja de Google. (O al menos siempre que necesitemos datos de la tarjeta que se puedan importar a uno de los formatos mencionados anteriormente).

Pero este no es siempre el caso.

Aquellos sin herramientas de raspado web, o sin conocimientos de codificación para usar algo como Python para ayudar con una tarea, tuvieron que recurrir al tedioso trabajo de copiar y pegar manualmente cientos o miles de entradas.

En un trabajo reciente, se le pidió a mi equipo que:

anuncio publicitario

Continúe leyendo a continuación

  • Vaya al sitio web del cliente.
  • Descargue más de 150 productos nuevos en 15 sitios diferentes.
  • Copie y pegue el nombre del producto y la URL de la página de destino de cada producto en su hoja de cálculo.

Ahora puedes imaginar cuánto tiempo duraría esta tarea si la hiciéramos y la hiciéramos manualmente.

Esto no solo requiere mucho tiempo, sino que, dado que alguien examina manualmente tantos elementos y páginas y tiene que copiar y pegar físicamente los datos del producto por producto, las posibilidades de cometer uno o dos errores son bastante altas.

Se necesitarí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! Te mostraré cómo lo hicimos.

Contenido del Articulo

¿Qué es IMPORTXML?

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

Según el sitio de soporte de Google, IMPORTXML “importa datos de una variedad de tipos de datos estructurados, incluidos XML, HTML, CSV, TSV y feeds RSS y ATOM XML”.

anuncio publicitario

Continúe leyendo a continuación

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, puede extraer de forma rápida y sencilla datos como títulos de páginas, descripciones o enlaces, pero también información más compleja.

¿Cómo puede ayudar IMPORTXML a eliminar elementos del sitio web?

La función en sí es bastante simple y solo requiere dos valores:

  • URL del sitio web del que vamos a extraer o scrapear información.
  • Y el XPath del elemento que contiene los datos.

XPath significa XML Path Language 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 usaremos:

= IMPORTXML (“https://en.wikipedia.org/wiki/Lądowanie_księżyca”, “// título”)

Esto devolverá el valor: Moon Landing – Wikipedia.

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

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

Meta descripción de la página de inicio de SEJ Extraída con IMPORTXML.

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

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

Vea IMPORTXML en acción

Desde el descubrimiento de IMPORTXML en Google Sheets, realmente se ha convertido en una de nuestras armas secretas para automatizar 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 junto con otras fórmulas y adiciones se puede utilizar para tareas más avanzadas que de otro modo requerirían soluciones y desarrollo avanzados, como herramientas integradas en Python.

Pero en este caso, veremos IMPORTXML en su forma más básica: raspado de datos de un sitio web.

Veamos un ejemplo práctico.

Imagínese que nos pidieran que creáramos una campaña para el Search Engine Journal.

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

anuncio publicitario

Continúe leyendo a continuación

Se podría decir que es una tarea bastante sencilla.

Desafortunadamente, la oficina editorial no puede enviarnos los datos y amablemente nos pide que revisemos el sitio web para obtener la información necesaria para organizar la campaña.

Como se mencionó al principio de nuestro artículo, una forma de hacerlo sería abrir dos ventanas del navegador: una para el sitio web y la otra para Hojas de cálculo de Google o Excel. Luego, comenzaríamos a copiar y pegar 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 Hojas de cálculo de Google en blanco.

Paso 2: agregue el contenido que necesita para rascar

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

anuncio publicitario

Continúe 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.

Paso 3: encuentra la ruta XPath

Encontramos el XPath del elemento cuyo contenido queremos importar a nuestra hoja de datos.

Para nuestro ejemplo, comencemos con los títulos de los últimos 30 artículos.

Vaya a Chrome. Después de colocar el cursor sobre el título de uno de los artículos, haga clic con el botón derecho y seleccione Cheque.

Abra la herramienta Chrome WebDev.

Esto abrirá la ventana Herramientas de desarrollo de Chrome:

Busque y copie el XPath que desea extraer.

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

anuncio publicitario

Continúe leyendo a continuación

Paso 4: extrae los datos a Google Sheets

Regrese al documento de Google Sheets, ingrese la función IMPORTXML de la siguiente manera:

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

Algunas cosas para recordar:

primeramente, en nuestra fórmula, reemplazamos la URL de la página con una referencia a la celda donde se almacena la URL (B1).

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

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

Sin embargo, para asegurarse de que no rompa la fórmula, debe cambiar las comillas dobles por una comilla simple.

(// *[@id=’title_1’])

Tenga en cuenta que en este caso, dado 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 de la página con un ID que incluya ‘título’.

Así es como se ve un documento de Hojas de cálculo de Google:

Ejemplo de IMPORTXML.

En unos momentos, así es como se ven los resultados después de cargar los datos en una hoja de cálculo a través de una consulta:

Títulos importados en Google Sheets.

Como puede ver, la lista incluye todos los artículos que aparecieron en la página que acabamos de rayar (incluido mi artículo anterior sobre automatización y cómo usar el Personalizador de anuncios para mejorar la efectividad de sus campañas de Google Ads).

anuncio publicitario

Continúe leyendo a continuación

También puede usar esto para recopilar cualquier otra información necesaria para configurar una campaña publicitaria.

Agreguemos las URL de la página de destino, un extracto destacado de cada artículo y el nombre del autor a nuestro documento de Hojas de cálculo.

Para las URL de la página de destino, debemos ajustar la consulta para especificar que estamos buscando un 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 de la ruta Xpath.

Importar enlaces a artículos.

¡Voila! Inmediatamente tenemos URL de página de destino:

Artículos y URL importados a Google Sheets.

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

Todos los datos se extraen y se importan a Google Sheets.

Solución de problemas

Una cosa a tener en cuenta es que para poder expandir completamente y completar la hoja de cálculo con todos los datos devueltos por la consulta, la columna donde se completan los datos debe tener suficientes celdas libres y ningún otro dato.

anuncio publicitario

Continúe leyendo a continuación

Esto funciona de manera similar al uso de ARRAYFORMULA, por lo que la fórmula se puede expandir, ningún otro dato puede estar en la misma columna.

Solicitud

Y tiene una forma totalmente automatizada y sin errores de recuperar datos de (potencialmente) cualquier sitio web, ya sea que necesite contenido y descripciones del producto, 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 proporcionar la ventaja necesaria para obtener resultados mejores que el promedio, poder buscar páginas web y contenido estructurado de manera fácil y rápida puede ser invaluable. Además, como vimos anteriormente, IMPORTXML puede ayudar a reducir el tiempo de ejecución y reducir el riesgo de errores.

Además, esta función no solo es una gran herramienta que solo se puede usar para tareas de PPC, sino que puede ser realmente útil para una amplia variedad de proyectos que involucran raspado de sitios web, incluidas tareas de contenido y SEO.

Más recursos:

anuncio publicitario

Continuar leyendo a continuación


Créditos de imagen

Todas las capturas de pantalla fueron tomadas por el autor, agosto de 2021

Previous post ¿Por qué debería haber imágenes en el cuadro de búsqueda de autocompletar?
Next post ¿Los gerentes de redes sociales necesitan títulos de maestría?

Deja una respuesta