inmobiliaria-analytics/docs/01-fase-alcance-inicial/IAI-007-webscraper/historias-usuario/US-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.9 KiB

id title type epic status story_points priority project created_date updated_date
US-SCR-001 Scraping de propiedades desde Inmuebles24 User Story IAI-007 Draft 13 Alta inmobiliaria-analytics 2026-01-04 2026-01-04

US-SCR-001: Scraping de propiedades desde Inmuebles24


User Story

Como administrador del sistema Quiero que el sistema extraiga automaticamente propiedades de Inmuebles24 Para tener datos actualizados del mercado inmobiliario mexicano


Descripcion

Implementar un scraper robusto que extraiga listados de propiedades del portal Inmuebles24, manejando la proteccion de Cloudflare y respetando las politicas de rate limiting para evitar bloqueos.


Criterios de Aceptacion

Funcionales

  • El scraper puede navegar y extraer listados de propiedades
  • Extrae todos los campos requeridos (precio, ubicacion, caracteristicas)
  • Maneja paginacion hasta el limite configurado
  • Almacena datos raw en formato JSON

Tecnicos

  • Usa Playwright con stealth mode
  • Rotacion de proxies residenciales
  • Delay configurable entre requests (2-5s base)
  • Manejo de reintentos con backoff exponencial

Anti-detection

  • Simula comportamiento humano (scroll, delays)
  • User-Agent rotativo y realista
  • Maneja desafios de Cloudflare Turnstile
  • Respeta robots.txt (paginas 1-5 inicialmente)

Campos a Extraer

Requeridos:
  - source_id: ID interno de Inmuebles24
  - source_url: URL de la propiedad
  - title: Titulo del anuncio
  - price: Precio (numerico)
  - currency: MXN/USD
  - property_type: casa/departamento/terreno/etc
  - transaction_type: venta/renta
  - bedrooms: Recamaras
  - bathrooms: Banos
  - construction_m2: Metros construidos
  - land_m2: Metros de terreno
  - address: Direccion
  - neighborhood: Colonia
  - city: Ciudad
  - state: Estado
  - description: Descripcion completa

Opcionales:
  - parking_spaces: Estacionamientos
  - age_years: Antiguedad
  - amenities: Lista de amenidades
  - images: URLs de imagenes
  - latitude: Coordenada
  - longitude: Coordenada

Tareas Tecnicas

# Tarea Estimacion
1 Setup Playwright + stealth plugins 2h
2 Implementar navegacion de listados 4h
3 Parser de detalle de propiedad 4h
4 Integracion con proxy pool 3h
5 Rate limiting y delays 2h
6 Manejo de errores y reintentos 3h
7 Storage de raw data (S3/local) 2h
8 Tests unitarios y de integracion 4h

Total estimado: 24h (~3 dias)


Configuracion

scraper_config:
  source: inmuebles24
  base_url: https://www.inmuebles24.com

  targets:
    cities:
      - guadalajara
      - monterrey
      - ciudad-de-mexico
    property_types:
      - casas
      - departamentos

  limits:
    max_pages_per_city: 5
    max_properties_per_run: 500
    delay_ms:
      min: 2000
      max: 5000

  proxy:
    type: residential
    rotate_every: session

  retry:
    max_attempts: 3
    backoff_multiplier: 2

Notas de Implementacion

  1. Selectores: Usar selectores CSS robustos, evitar XPath fragiles
  2. Cloudflare: Esperar carga completa antes de extraer
  3. CAPTCHA: Si aparece frecuentemente, activar solver externo
  4. Logs: Logging detallado para debugging

Definition of Done

  • Codigo implementado y revisado
  • Tests pasan (unit + integracion)
  • Scraper extrae 500+ propiedades sin bloqueos
  • Documentacion actualizada
  • Metricas de exito > 80%

Dependencias

  • Proxy pool configurado (US-SCR-000)
  • Redis para Bull Queue
  • Storage S3/local para raw data

Riesgos

Riesgo Mitigacion
Cambios en HTML Alertas + selectores flexibles
Rate limit Delay adaptativo
IP ban Pool de proxies amplio

Asignado a: - Sprint: - Fecha limite: -