La extracción de datos web es la extracción automatizada de datos de sitios web: un programa solicita páginas, analiza el HTML o JSON devuelto y guarda campos específicos, como precios o listados, en un formato estructurado. Se diferencia de la exploración web, que sigue enlaces para descubrir e indexar páginas; la extracción saca datos específicos de las páginas obtenidas.

Un extractor básico envía una solicitud HTTP a una URL objetivo, recibe el HTML en bruto (o JSON, para sitios basados en API) y extrae los puntos de datos específicos necesarios: precios de productos, clasificaciones de búsqueda, información de contacto y similares. A gran escala, la extracción se enfrenta a límites de tasa, que limitan cuántas solicitudes puede hacer una sola dirección IP en un período de tiempo determinado.

Tipos de Herramientas de Extracción de Datos Web

  • Bibliotecas de código: Scripts que envían solicitudes HTTP y analizan el HTML, por ejemplo, Python con un analizador HTML.
  • Automatización del navegador: Herramientas como Selenium o Playwright cargan la página completa, incluido el contenido generado por JavaScript, y luego extraen datos del DOM renderizado.
  • APIs oficiales: Donde un sitio ofrece una, devuelve datos estructurados directamente, sin necesidad de análisis de HTML.

Medidas Comunes Anti-Extracción

Además de los límites de tasa, los sitios utilizan otras formas de detectar y ralentizar a los extractores:

  • CAPTCHAs que piden al visitante que demuestre que es humano.
  • Archivos robots.txt que indican qué rutas pueden acceder los rastreadores automatizados.
  • Honeypots: Enlaces ocultos que los visitantes humanos nunca ven ni hacen clic, utilizados para identificar y huellas dactilares de bots.
  • Huella digital del dispositivo, que puede reidentificar un navegador o dispositivo a partir de sus características, incluso después de que se borran las cookies o cuando se utiliza una VPN.

Términos Relacionados