El ‘web scrapping’, algo que podríamos traducir como ‘excavado web’, es parte de lo que conocemos como Data Science. Se utiliza para conseguir datos de una página web, habitualmente a través del lenguaje de programación Python, haciendo uso del machine learning. Gracias a esto, puede simular cómo navegaría por internet una persona real.
Hoy vamos a acercarnos un poco más al web scrapping y a comprender cómo podemos hacer uso de esta técnica en nuestro beneficio. Tendremos que conocer en entorno del diseño web, pero podremos recopilar una gran cantidad de información en muy poco tiempo.
¿Para qué utilizar el web scrapping?
Como decimos, la función principal del web scrapping es la de conseguir información a gran escala. Nos adentramos en lo que se llama Big Data, algo de lo que seguro ya has oído hablar. A través de diferentes algoritmos, podremos buscar los datos que queremos en cientos de web, rescatando únicamente los campos que nos interesan.
Para tener un mayor control sobre estas búsquedas, lo ideal sería tener cierto dominio sobre la función ‘regex’ (regular expression) en Python. Así podríamos conseguir resultados más precisos y filtrar la información para eliminar lo que no estamos buscando.
Y, ¿en qué casos se puede utilizar el ‘scrapeo’?
- Controlar la visibilidad de nuestra empresa: con el web scrapping podrás seguir el nombre de tu marca en algunas páginas o el posicionamiento de nuestra web en Google.
- Generar contenido propio: un bot que haga scrapping de datos en una web, como la base de datos de una liga de fútbol, para crear nuestro propio sitio con las estadísticas oficiales.
- Conseguir visibilidad en redes:se pueden utilizar los datos recogidos en un ‘scrapeo’ para generar conversación en RRSS, por ejemplo un bot que trabaje en Instagram programando comentarios.
¿Cómo funciona el web scrapping?
Más allá de estos breves ejemplos, vamos a ver de manera práctica cómo se puede poner en funcionamiento el web scrapping y cómo te ahorrará horas de un aburrido trabajo repetitivo.
Imagina que tienes que analizar un sitio web que tiene más de 400 entradas diferentes, pero en un mismo formato. Te han pedido que hagas un estudio de los títulos de esas páginas, para preparar alguna estrategia futura o cambio en las configuraciones.
Cada una de estas 400 páginas tendrá un <h1> que marcará el título designado, y esta etiqueta estará dentro de un <div> con la clase .header. Lo único que tendremos que hacer será programar nuestro web scrapper para que detecte la etiqueta <h1> que se encuentra dentro de la clase .header (.header h1).
En un par de minutos habrá recopilado toda la información que podríamos haber tardado horas en recuperar. Además, podemos incluir una línea más para que exporte los datos en diferentes formatos, ya sea en un listado con .json o en un fichero .csv.
¿Qué se necesita para hacer web scrapping?
Si quieres ser web scrapper, necesitarás combinar dos conocimientos muy concretos dentro del mundo web, pero algo separados entre ellos. Por un lado, tendrás que manejarte bien con los conocimientos técnicos para poder extraer los datos de la forma más precisa y eligiendo correctamente los campos a los que quieras acceder.
Por otro lado, también tendrás que tener una visión global de cómo funciona la información a gran escala, lo que antes hemos nombrado como Big Data. Tendrás que hacerte una imagen completa de lo que tienes, manejando a nivel conceptual todo lo relativo a la recolección de datos.
Con un buen dominio de ambas disciplinas, sabremos plantear perfectamente la estrategia que queremos seguir a la hora de extraer información a través del web scrapping. Comprenderemos la importancia de cada uno de los datos, priorizando aquellos que sean verdaderamente relevantes y puedan tener un valor importante para nosotros.
Hay tres aspectos claves que serán básicos a la hora de cosechar estos datos:
- Visualización de los datos: Será importante saber utilizar un software que nos permita ordenar la información de la mejor manera, como puede ser el procesador de hojas de cálculo de Google, Spreadsheets.
- Conocimientos en ‘regex’: Si conoces las expresiones de ‘regex’ (regular expression), aunque sea a un nivel básico, tendrás muchas facilidades para encontrar exactamente lo que quieres o refinar aún más tu búsqueda.
- Funcionamiento de la maquetación web: El web scrapping trabaja sobre la arquitectura web y los selectores html, por lo que tendrás que conocer mínimamente cómo se maneja el interior de una página.
Y hasta aquí todo lo que queríamos contarte hoy sobre el web scrapping. Cuando hayas obtenido los datos que estabas buscando, solo tendrás que depurarlos, organizarlos y filtrarlos como prefieras y estará listo. Entonces ya podrás trabajar con ellos como una base de datos cualquiera.