inmobiliaria-analytics/docs/01-fase-alcance-inicial/IAI-007-webscraper/requerimientos/RF-SCR-001.md
rckrdmrd f570727617 feat: Documentation and orchestration updates
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-07 05:35:40 -06:00

3.4 KiB

id title type epic priority status project created_date updated_date
RF-SCR-001 Motor de Scraping con Anti-Detection Functional Requirement IAI-007 Alta Draft inmobiliaria-analytics 2026-01-04 2026-01-04

RF-IA-007-001: Motor de Scraping con Anti-Detection


Descripcion

El sistema debe proporcionar un motor de web scraping capaz de extraer datos de portales inmobiliarios protegidos por Cloudflare y otros sistemas anti-bot, emulando comportamiento de usuario real para evitar bloqueos.


Justificacion

Los portales inmobiliarios como Inmuebles24 y Vivanuncios implementan protecciones robustas contra scraping automatizado. Sin un motor especializado con capacidades anti-detection, el sistema no podra obtener datos actualizados del mercado.


Requisitos Funcionales

RF-001.1: Browser Automation

ID Requisito Prioridad
RF-001.1.1 El sistema debe usar Playwright como motor de automatizacion principal Alta
RF-001.1.2 El sistema debe soportar modo headless con stealth patches Alta
RF-001.1.3 El sistema debe ocultar propiedades de WebDriver (navigator.webdriver) Alta
RF-001.1.4 El sistema debe emular User-Agents reales y rotarlos Alta
RF-001.1.5 El sistema debe soportar HTTP/2 y TLS moderno Media

RF-001.2: Anti-Detection

ID Requisito Prioridad
RF-001.2.1 El sistema debe simular movimientos de mouse antes de clicks Alta
RF-001.2.2 El sistema debe implementar scroll gradual (no instantaneo) Alta
RF-001.2.3 El sistema debe agregar delays aleatorios entre acciones Alta
RF-001.2.4 El sistema debe esperar carga completa de JavaScript antes de extraer Alta
RF-001.2.5 El sistema debe detectar y manejar desafios Cloudflare Turnstile Media

RF-001.3: Session Management

ID Requisito Prioridad
RF-001.3.1 El sistema debe persistir cookies entre sesiones Alta
RF-001.3.2 El sistema debe rotar sesiones periodicamente Media
RF-001.3.3 El sistema debe implementar "warming up" de sesiones nuevas Media

Criterios de Aceptacion

  • Playwright se inicializa con stealth mode habilitado
  • navigator.webdriver retorna undefined en el browser automatizado
  • User-Agent rota entre 10+ agentes reales diferentes
  • Delays entre acciones varian entre 1-5 segundos aleatoriamente
  • Scroll simula comportamiento humano (velocidad variable)
  • Sesiones se persisten y reusan correctamente
  • El scraper pasa pruebas de bot detection (bot.sannysoft.com)

Dependencias

  • Playwright NPM package
  • playwright-extra con stealth plugin
  • Redis para session storage

Riesgos

Riesgo Probabilidad Impacto Mitigacion
Stealth patches obsoletos Media Alto Monitorear actualizaciones, tener fallbacks
Nuevas tecnicas de deteccion Alta Alto Monitoreo continuo, ajustes rapidos

Historias de Usuario Relacionadas

  • US-SCR-001: Scraping de Inmuebles24

Referencias Tecnicas


Autor: Tech Lead Fecha: 2026-01-04