Web scraping con R

Introducción

En este trabajo se discute la potencialidad de R para realizar web scraping.
Web scraping o screen scraping es el proceso de extracción automatizada de datos contenidos en un sitio web.

Este es un proceso que suele presentarse comúnmente en el entorno laboral, y se resuelve de forma manual “copiando y pegando” los datos de un directorio online o página web, pero esto no es manejable en un entorno con alta escalabilidad.

Aunque este proceso se considera algo básico y rudimentario en los entornos de programación no se puede negar que es una técnica de gran ayuda cuando nos enfrentamos a este problema.

Herramientas de web scraping

Las herramientas de web scraping conocidas también como “scrapeadores” están especialmente diseñadas para extraer información de sitios web de forma automática.

  • Import.io: extrae datos casi de cualquier web
  • Mozenda.com: el binomio de web scraping y data as a service más completo
  • Dexi.io: herramienta de web scraping para usuarios avanzados
  • Salestools.io: un scraper para equipos comerciales
  • Hunter.io: una herramienta de web scraping para capturar correos electrónicos
  • Parsehub.com: una herramienta de web scraping especializada en páginas dinámicas
  • Webhose.io: transforman los datos desestructurados de una web en dato estructurados
  • Apifier.com: el web scraper para los que dominan JavaScript
  • Diffbot.com: inteligencia artificial para la extracción de datos
  • 80legs.com: un plan gratuito para web scraping

Los usos más comunes para estas herramientas son:

  • Extracción de datos de contacto y contenidos de una web
  • Creación de análisis y canales RSS a partir de los contenidos de una página web
  • Seguimiento de la evolución de precios de distintos productos, indicadores macroeconómicos, sociales, etc.
  • Marketing de contenidos
  • Posicionamiento y control de imagen, marcas y visibilidad en redes sociales e internet.

Web scraping con R y RSelenium

Con la ayuda de R y el paquete RSelenium podemos capturar el código fuente de una página web, guardarlo en una base de datos, interactuar con la web y extraer solo información necesaria, entre otros.