Ilustración conceptual del web scraping con el término sobre un fondo de código de programación en una pantalla oscura.
265
Views

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.

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. Esta es la definición fundamental de qué es la técnica de scraping web.

Diagrama del proceso de web scraping
Diagrama que ilustra el proceso de web scraping: un bot extrayendo datos de un sitio web para almacenarlos en una base de datos.

¿Qué es el Web Scraping?

El web scraping, o raspado web, es una técnica automatizada que utiliza software para extraer grandes cantidades de datos y contenido directamente del código de los sitios web. Sirve para analizar información, comparar precios, investigar mercados o recopilar contenido, procesando los datos para su posterior uso.

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”.

Es importante destacar que la actividad de Web Scraping no es ilegal en sí misma; muchas empresas utilizan esta técnica para la recopilación de información con fines legítimos. La pregunta sobre qué es el web scraping y es legal depende del propósito y del tipo de datos extraídos.

Piensa, por ejemplo, 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. Tambié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 raspado web 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, o el robo de datos personales.

Luego, hay usos de esos datos, posteriores al scraping, que violan la privacidad, un tema que ha sido objeto de debate legal, como en el caso de HiQ contra LinkedIn según la EFF.

Software y Herramientas para el Raspado Web

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.

En mi experiencia, encuentro 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 raspado web 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.

Ejemplo de web scraping con Python usando Scrapy
Captura de pantalla mostrando Scraping con Python

Herramientas Populares de Web Scraping con Python

Para los más curiosos y a modo de ejemplo, aquí tienes algunos de los proyectos disponibles online que ofrecen un servicio de web scraping. Muchos de los más potentes utilizan Python como lenguaje de programación.

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 software de 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 Web Scraping Malicioso

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, se 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.

Para ralentizar o detener un bot, puedes usar varios métodos. Aquí te presento 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. 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.
  • 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.
Métodos de protección contra el web scraping malicioso
Infografía mostrando diferentes métodos de defensa contra el web scraping, como CAPTCHA, bloqueo de IP y monitoreo de tráfico.

El Alcance Actual del 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. 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. ¿Para qué se utiliza el scraping principalmente? Para obtener una ventaja competitiva.

Según informes de la industria, los bots ahora constituyen aproximadamente el 46% del tráfico web, como lo detalla el informe de Bad Bots de Imperva.

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.

Angel Mentor https://cybermentor.net

Angel Mentor es un profesional certificado en ciberseguridad cuya misión en CyberMentor.net es simplificar el complejo mundo de la seguridad digital. Con experiencia práctica en el campo, te guía desde la protección de tus dispositivos y tu privacidad hasta el avance de tu carrera profesional en ciberseguridad.

Todos los Comentarios

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *