Saltar al contenido principal

Scraper

Web scraper · Extractor web

Descripción

Componente que recorre páginas web o documentos para identificar y extraer información específica de su contenido. Su función es obtener datos desde fuentes no estructuradas o semiestructuradas mediante técnicas como pattern-matching o parsing, y entregarlos al sistema para su almacenamiento o procesamiento posterior. A diferencia de componentes que consumen APIs formales, el scraper accede directamente al contenido de las páginas o documentos, buscando, identificando y extrayendo los datos relevantes según criterios predefinidos.

Capacidades mandatorias

Capacidades mandatorias
  • Recorre páginas web o documentos buscando y extrayendo datos específicos mediante patrones o selectores
  • Realiza parsing del contenido para identificar la información de interés y separarla del resto
  • Entrega los datos extraídos al sistema para su almacenamiento o procesamiento posterior
  • Maneja contenido no estructurado o semiestructurado, sin depender de un esquema formal expuesto por la fuente

Capacidades adicionales

Capacidades adicionales
  • Trabajo en conjunto con un crawler: recibe URLs descubiertas dinámicamente por un componente que navega siguiendo enlaces, en lugar de operar sobre una lista predefinida de fuentes
  • Trigger manual: permite a un usuario autorizado iniciar la extracción bajo demanda
  • Programación periódica (scheduling): ejecuta el scraping en intervalos definidos
  • Logging de extracción: registra ejecuciones, tasas de éxito por fuente y datos efectivamente extraídos
  • Tolerancia a cambios estructurales: implementa selectores múltiples o estrategias de fallback que mitigan el efecto de modificaciones en las páginas fuente

Delimitaciones

Qué no es
  • No es un crawler: no navega siguiendo enlaces ni descubre contenido por su cuenta; requiere URLs o ubicaciones específicas como entrada
  • No es un ETL: el ETL consume datos estructurados desde APIs o bases de datos; el scraper extrae datos desde contenido no estructurado
  • No transforma ni procesa los datos extraídos en profundidad; solo los identifica y los entrega
  • Puede dejar de funcionar si la estructura de las fuentes cambia y no hay tolerancia a esos cambios

Flujo de información

Entrada

URLs o ubicaciones de las fuentes a procesar; selectores, patrones o criterios que definen qué información extraer

Salida

Datos extraídos y estructurados, entregados al sistema para su almacenamiento o procesamiento posterior

Modalidades

  • Scraping web: extracción de datos desde páginas HTML mediante selectores CSS, XPath u otros mecanismos de parsing del DOM
  • Scraping de documentos: extracción de datos desde archivos con contenido no estructurado o semiestructurado (PDF, Word, hojas de cálculo sin formato estándar)

Dependencias típicas

  • Fuentes externas a procesar (páginas web, documentos accesibles por URL)
  • Selectores o reglas que definen qué extraer de cada fuente
  • Base de Datos u otro componente receptor de los datos extraídos
  • Mecanismo de programación o scheduler para ejecución periódica, cuando esa capacidad está presente

Ejemplos

Indeed — agregación de ofertas de empleo desde miles de sitios web externos mostrando resultados unificados

Mapeo al Tablero Digital

Entradas ManualesOpcional
Entradas AutomáticasSiempre
Conceptos de DatosSiempre
Salidas por DemandaNo
Salidas AutomáticasNo
Procesos AutónomosSiempre
SecciónVínculoObservación
Entradas ManualesOpcionalTrigger manual de la extracción, cuando esa capacidad está presente.
Entradas AutomáticasSiempreLa incorporación al sistema de datos extraídos desde fuentes externas.
Conceptos de DatosSiempreLas entidades resultantes de la extracción (productos, ofertas, perfiles, según el dominio).
Salidas por DemandaNo
Salidas AutomáticasNo
Procesos AutónomosSiempreEl parsing del contenido para identificar y separar la información relevante. Logging y tolerancia a cambios cuando esas capacidades están presentes.

Ejemplo de Tablero Digital

Tablero Digital del Scraper con tarjetas de ejemplo