Web Scraping – Arturo Marimón en el eShow Barcelona 2016

Fernando Maciá

Escrito por Fernando Maciá

¿Para qué necesitamos scrapear sites? ¿Cómo hacerlo sin saber programación? Veremos algunas herramientas y profundizaremos en una en concreto. Arturo Marimón, CEO & Consultor en Arturo Marimón Consultores.

Web Scraping es hacer búsquedas y hacer recopilación de datos que nos puedan interesar.

A nivel de SEO, usamos el scrapeo para distintas cosas:

  1. Scrapear productos y URLs para una migración complicada.
  2. Para controlar cambios de precios en productos de la competencia.
  3. Para controlar lanzamiento de productos nuevos de la competencia.
  4. Comprobar continuamente cambios en SEO on page: titles, description, textos…

Detectar scrapeadores

En primer lugar, respeta el sitio que scrapeas. Puedes tumbar el servidor de un sitio Web. Hay que limitar para no sobrecargar el servidor. Los de sistemas no quieren scrapeadores en su site: van a tratar de bloquearte.

Se detectan por un número alto de peticiones, peticiones repetidas, etc. Así que debemos ocultar nuestra identidad para poder sacar la información.

Debemos cambiar el User-agent y usar proxies para ocultarnos y que no detecten el scrapeo.

Herramientas para scrapear

Hay que conocer Xpath y HTML. HTML debería saberlo todo el mundo que trabaja en digital. Xpath es un lenguaje muy sencillo: hace consultas en nodos y atributos (como se estructura el HTML, que es una implmentación de XML).

Xpath básico explicado por Arturo Marimón

Hay distintas formas de extraer distintos elementos para encontrarlos en el HTML.

Scraper es un plug-in de Chrome. Tras instalarlo, podemos usar el botón derecho del ratón para scrapear un elemento de una página (Scrape similar) o marcar cualquier elemento en el DOM. Es muy sencillo.

Además de scrapear páginas, también podemos scrapear a Google. Podemos hacer un site: dominio.com y lo que podemos hacer con plug-in es hacer un scroll infinito de los resultados de Google para poder sacar todos los titles, URLs, etc. De un sitio Web.

Iba a enseñar KimonoLabs, pero lo acaban de cerrar. Import.io, Apifier, parsehub, son otras herramientas de scrapeo. Kimonolabs permitía programar scrapeos periódicos y avisar cuando cambiaban contenidos.Estas nuevas herramientas permiten ahora realizarlo.

Zapier + Google Spreadsheet

Podemos usar Google Spreadsheet para scrapear un sitio web. Creamos nueva hoja de cálculo en Google Docs, y nombramos las columnas que vamos a ir scrapeando: por ejemplo, title , description y encabezamientos.

Spreadsheet permite usar importXML, y con Xpath podemos decirle qué es lo que queremos importar. Alimentamos la hoja con URLs y me va a importar estos elementos si los voy definiendo en cada columna. Extraigo las URLs por ejemplo scrapeando de los resultados de Google o de Screaming Frog.

A partir de ahí, «estiramos» en cada columna y me rellena todas las filas con los datos que me interesan.

A partir de ahí, lo que quiero es hacerlo periódicamente. En hoja de cálculo puedo hacer que se actualice cada determinado tiempo. Por ejemplo, cada minuto. Y lo siguiente que necesito es que, si el dato cambia, me avise. Ahí entra en juego Zapier.

Lo que permite es automatizar tareas de distintos programas y aplicaciones. Entonces podemos programar para que cuando haya un cambio en nuestra spreadsheet nos avise. Primero programamos para que detecte el cambio, y lo segundo que hacemos es indicarle que nos envíe un e-mail, por ejemplo a través de GMail.

El paso siguiente, es programar para que guarde un histórico por fecha. INdicamos que cree un archivo de hoja de cálculo de Google y que añada una columna con cada cambio. Guarda el elemento cambiado y la fecha del cambio. Así no nos toca estar pendiente de todos los mails, sino que se me guarda un histórico de los cambios de cada sitio Web.

Así enviará un mail y, además, guardará el registro en la hoja de cálculo de Google. Además se puede conectar con Trello para que dispare un aviso de estos cambios con una tarjeta. Así automatizamos todo el proceso y no hay que estar continuamente mirando.

Histórico de cambios en un sitio

Por último: visualping.io. Para cuando sólo necesitamos saber cuándo cambia el contenido de un sitio. Esta herramienta sirve para señalar un contenido en un site, indicar qué porcentaje de contenido debe cambiar y configurar alertas.

Con todo ello, podemos tener muy bien controlada a la competencia.

 

Fernando Maciá
Autor: Fernando Maciá
Fundador y director general de Human Level y SEO experto. Director del Máster en SEO SEM Profesional de KSchool y autor de libros sobre posicionamiento, marketing digital y redes sociales en Anaya Multimedia.

Dejar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *