Millones de fotos, decenas de millones de videos, publicaciones en blogs y periódicos en línea, y actualizaciones de estado en Facebook, tweets en Twitter e imágenes en Instagram: cada día, la web se llena de nuevos contenidos, datos e información de todo tipo creados por miles de millones de usuarios que se conectan a la red desde los cuatro rincones de la Tierra.
Estos datos son de gran importancia para empresas como Google y Facebook, interesadas en el mundo de la publicidad en línea. Gracias al contenido generado por los usuarios (y no solo), estas empresas pueden estudiar los hábitos de los internautas y proponer anuncios personalizados (la llamada publicidad rastreada) para captar la atención de posibles usuarios.
Sin embargo, esta información puede interesar a casi todas las empresas presentes en línea. A partir de las publicaciones en línea y las publicaciones en blogs y periódicos, es posible deducir la opinión del público y evaluar la reputación en línea de empresas y ciudadanos individuales (como políticos, por ejemplo). Todo esto es posible gracias al web scraping, una actividad que permite “escanear” toda la red en busca de información de plataformas de blogs, redes sociales y mucho más.
¿Qué es el Web Scraping?
El web scraping es un proceso automatizado de extracción de contenido y datos de un sitio web: esto implica el uso de software especializado que analiza el código fuente de las páginas recopilando los datos de interés y, a veces, toda la estructura del sitio. Literalmente significa “raspar”.
Usos Legales e Ilegales del Web Scraping
Es importante destacar que la actividad de web scraping no es ilegal, muchas empresas utilizan esta técnica para la recopilación de información con fines legítimos.
Por ejemplo, pensemos en los “spiders” utilizados por los motores de búsqueda que analizan el contenido de los sitios para clasificarlos, o en los numerosos comparadores de precios disponibles en línea y aún en las actividades de marketing que utilizan esta metodología para escanear la red y recopilar información de foros y redes sociales sobre temas específicos para analizar aspectos como el sentimiento de los usuarios en línea.
Por supuesto, el web scraping también puede ser utilizado para fines ilegales, como la recopilación de contenido protegido por derechos de autor y su posterior uso para fines no autorizados.
Luego, hay usos de esos datos, posteriores al scraping, que violan la privacidad.
El Software Utilizado para el Web Scraping
Existen numerosos software en línea para la actividad de web scraping: se distinguen no solo por su capacidad de “recopilación” (o raspado de información), sino también por su habilidad para reconstruir los contenidos en formatos y estructuras que pueden ser fácilmente procesados por sistemas de terceros para una variedad de propósitos.
Encontramos, por lo tanto, bots capaces de escanear servicios alojados en la red Tor, así como scrapers capaces de extraer información de las Application Programming Interfaces (API) proporcionadas por los servicios web.
Algunos bots utilizados en actividades ilegales intentan ocultar sus operaciones, simulando tráfico legítimo mediante la creación de falsos user-agent típicamente asociados con navegadores conocidos o aplicaciones comerciales populares.
Muy a menudo, detrás de una actividad de web scraping se esconden organizaciones que gestionan botnets de considerable tamaño cuyas máquinas zombie están distribuidas por todo el mundo.
La disponibilidad de botnets de gran tamaño es un arma poderosa en manos de aquellos que quieren realizar actividades de web scraping, tanto por su capacidad de recopilación de datos como por su habilidad para evadir sistemas de protección de los sitios objetivo.
Es así como un scraper basado en una botnet compuesta por un millón de máquinas podría eludir cualquier control, distribuyendo en el tiempo y el espacio millones de solicitudes al sitio. Cada bot podría hacer unas pocas solicitudes al sitio objetivo, distribuidas a lo largo de varios días y simulando el comportamiento de un visitante humano.
La totalidad de las solicitudes, provenientes de millones de máquinas de todo el mundo, permitiría el web scraping del sitio y sus datos, pero los bots individuales involucrados serían transparentes para cualquier sistema de defensa.
Si además algunas redes sociales incluso abren la puerta a los scrapers con herramientas como la ofrecida por Facebook hasta 2019, para exportar datos de perfiles mediante la entrada masiva de números de teléfono, todo es aún más fácil.
Algunos Ejemplos de Servicios de Web Scraping
Para los más curiosos y a modo de ejemplo, aquí tienes algunos de los proyectos disponibles online para actividades de rastreo/scraping web.
Scrapy
Scrapy es un framework de código abierto escrito en Python creado originalmente para web scraping y ahora utilizado principalmente para web crawling. También puede ser utilizado para extraer datos utilizando APIs.
Sus puntos fuertes son:
- Rápido y potente.
- Facilidad de uso y documentación abundante.
- Posibilidad de agregar nuevas funcionalidades sin necesidad de modificar el núcleo del código. Comunidad activa.
- Posibilidad de ejecutar el scraping desde la nube.
- 40k+ estrellas en GitHub.
Sherlock
Sherlock es también un web scraping muy eficiente escrito en Python. En comparación con otras herramientas similares, tiene la capacidad de integrarse también con la red Tor.
Sus puntos fuertes son:
- Rápido y potente.
- Facilidad de uso y documentación abundante.
- Permite integrar Tor.
- Comunidad activa. 24k+ estrellas en GitHub.
Por otro lado, presenta los siguientes inconvenientes:
- No proporciona GUI.
- Resultados mínimos: solo proporciona la lista de evidencias (redes sociales – enlace).
PySpyder
Como otras herramientas de web scraping, PySpyder también está escrito en Python. Además, ofrece las siguientes características:
- Organización de tareas por prioridad (periódicamente, recrawling por edad).
- Arquitectura distribuida.
- Crawling de páginas javascript.
- Interfaz web muy bien hecha.
- 14k+ estrellas en GitHub.
Los inconvenientes en su uso son, sin embargo:
- Curva de aprendizaje pronunciada.
- Renderiza las páginas con PhantomJS, que carece de funcionalidades en comparación con Chrome Headless.
Cómo Defenderse del Robo de Datos en Línea
Afortunadamente, también hay empresas que ofrecen servicios para defenderse del web scraping: se trata de compañías especializadas en el análisis del tráfico y la evaluación de parámetros que atestiguan su calidad.
- Para clasificar el tráfico y distinguir las actividades fraudulentas, analizan múltiples factores como los encabezados HTML de las solicitudes al sitio, las direcciones IP de origen de las solicitudes y el comportamiento de los visitantes.
- Para detectar sistemas automatizados, también se recurre a desafíos continuos para los usuarios, como la resolución de CAPTCHA que, sin embargo, por sí solos no pueden proteger nuestros sitios.
Se pueden usar varios métodos para ralentizar o detener un bot. Aquí hay algunos:
- Bloquear una dirección IP manualmente o basándose en criterios como la geolocalización. Esto bloqueará toda la navegación desde esa dirección.
- Desactivar cualquier API del servicio web que el sitio pueda exponer a riesgos.
- Usar el Estándar de Exclusión de Robots (Googlebot es un ejemplo) para bloquear los bots que declaran su identidad, a veces usando cadenas de agentes de usuario (como se mencionó anteriormente). Los bots que no declaran su identidad no se pueden distinguir de un humano.
- Monitorear el exceso de tráfico puede ayudar a comprender si algunos bots están navegando por el sitio.
- Claramente, usar herramientas como CAPTCHA que permiten verificar si fue una persona real antes de acceder a un sitio web. A veces, sin embargo, los bots están codificados de manera que bloquean CAPTCHA o utilizan servicios de terceros que integran el trabajo humano para superar las preguntas planteadas por la herramienta.
¿Qué Tan Extendida está esta Técnica de Web Scraping?
Los datos están de moda, y la economía ha estado gravitando en torno a ellos durante algún tiempo, por lo que esta práctica se está volviendo cada vez más común y la información recopilada se utiliza para identificar tendencias, comprender estilos de vida, realizar investigaciones estadísticas sobre el uso de productos/servicios y las nuevas necesidades de los usuarios. ¡Los bots ahora constituyen aproximadamente el 46% del tráfico web!
El 38% de las empresas que se dedican a la extracción de datos lo hacen para obtener contenido. De hecho, gracias a la gran cantidad de datos disponibles, es posible realizar una amplia gama de acciones, como comparar precios, investigar tendencias y mucho más.