El Web Scrapping es una técnica que se utiliza para extraer data de la web de manera automatizada. Nos permite visitar multiples páginas y extraer el contenido que nos interesa.
Una vez que la data es extraída se pueden hacer muchas cosas con ella. Como realizar análisis, almacenarla, indexarla y mucho más.
El ejemplo más claro del web scrapping es Google. Google tiene programas, llamados crawlers, que descargan y almacenan el contenido de billones de páginas web.
A medida que extraen la data la analizan para determinar de qué se trata el contenido y cómo se relaciona con otras páginas. Todo esto es parte del algoritmo “Page Rank”, el cual se encarga de mostrarte los resultados más relevantes cada vez que realizas una búsqueda en Google.
Hay diversas herramientas que nos permiten implementar nuestros propios scripts para hacer web scrapping. Python tiene una librería que se llama Beautiful Soup y PHP tiene Goutte.
Estas librerías funcionan muy bien, pero imagina que pudieras hacer web scrapping con el mismo lenguaje que utilizamos para manipular el DOM: JavaScript.
El beneficio inmediato es que ya estamos acostumbrados a utilizar JavaScript para manipular el DOM. Lo cual haría nuestro trabajo mucho más fácil porque no tendríamos que aprender el API de estas librerías.
Pues te tengo buenas noticias. ¡Recientemente Google lanzó una librería para hacer esto!
Puppeteer es una librería para Node.js que nos permite controlar una version “headless” de Chrome por medio de un API. Es extremadamente fácil y nos permite:
En fin, es una librería extremadamente poderosa con la que podemos crear proyectos super interesantes. Aquí te dejo un video de cómo empezar a aprovechar todo el poder esta tecnología junto con Node.js para hacer web scrapping.