Scraper
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
- 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
- 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
- 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
URLs o ubicaciones de las fuentes a procesar; selectores, patrones o criterios que definen qué información extraer
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
Mapeo al Tablero Digital
| Sección | Vínculo | Observación |
|---|---|---|
| Entradas Manuales | Opcional | Trigger manual de la extracción, cuando esa capacidad está presente. |
| Entradas Automáticas | Siempre | La incorporación al sistema de datos extraídos desde fuentes externas. |
| Conceptos de Datos | Siempre | Las entidades resultantes de la extracción (productos, ofertas, perfiles, según el dominio). |
| Salidas por Demanda | No | — |
| Salidas Automáticas | No | — |
| Procesos Autónomos | Siempre | El parsing del contenido para identificar y separar la información relevante. Logging y tolerancia a cambios cuando esas capacidades están presentes. |