viernes, 31 de enero de 2020

Introducción a Web Scraping

Buenas, ahora vengo con esta entrada donde quiero compartir una breve y corta introducción sobre Web Scraping. En principio quiero hacer esta introducción porque actualmente me encuentro trabajando en la Industria de Ciencia de Datos o como le dicen en ingles y suena mas bonito, 'Data Sciencie Industry'.

Una parte importante del proceso de Data Science consiste en la busqueda de fuentes de datos, en muchas ocaciones estas fuentes de datos no se encuentran en un formato común o estandar como bases de datos SQL o archivos CSV, simplemente son fuentes de datos en documentos no estructurados o que se encuentran en la web a modo de documentos HTML.

Creo que algunas personas de alguna forma u otra han realizado este proceso de obtener información de un sitio web para ser usado en algún otro proyecto, con un rudimentario copy/paste, se puede decir que es el abuelito del scraping a una escala muy pequeña.

El proceso de extracción de datos en la web puede ser infinitamente complejo en la medida que se realice manualmente, actuamente existen miles y millones de sitios web que contienen millones de vinculos a otros sitios web, ahora pensemos que cada segundo se crean nuevos sitios web, al mismo tiempo que son vinculados a otros sitios web, la web está en constante crecimiento podríamos decir que tiene vida, surge entonces la necesidad de crear sistemas inteligentes que permitan o faciliten la toma de decisiones.

Entonces nace el concepto de Web Scraping, se han desarrollado una gran variedad de herramientas y soluciones que permiten analizar un sitio web para configurar un proceso de extracción automatica de datos desde un sitio web navegando por todos sus vinculos según sea la necesidad específica del proyecto a realizar.

Web Scraping tiene dos componentes básicos que permiten la extracción automática de datos, estos corresponden al Crawler y el Scraper.

El Crawler tambien se conoce como la araña o el 'Spider', consiste en una inteligencia artificial que tiene el proposito de navegar en internet para indexar documentos, buscar contenido y seguir los enlaces entre documentos, explorando como lo haria un humano pero de forma automatica con una gran velocidad de procesamiento que permite visitar y navegar atraves de cientos y miles de documentos en muy poco tiempo.


Crawler
Crawler


El Scraper consiste en el algoritmo o herramienta que se especializa en la extracción de datos desde una pagina web, usando las etiquetas HTML y clases CSS para identificar los datos que deseamos obtener, un Scraper puede ser tan simple como obtener el título de cada página web o muy complejo según las necesidades del proyecto.



Scraper
Scraper

Bueno esto es todo lo que quería compartir, como dije al inicio esto es solo una corta introducción a Web Scraping.

Estaré ampliando un poco más el contenido relacionado con esta introducción en los próximos días, semanas o meses.