TL;DR
- El raspado por lotes de miles de URL es un problema de gestión de colas antes de ser un problema HTTP.
- Utiliza concurrencia limitada, tiempos de espera por solicitud, reintentos con jitter, puntos de control y una clave de resultado idempotente.
asyncioyaiohttpfuncionan bien para páginas públicas simples; el renderizado del navegador o el descubrimiento del sitio deben trasladarse a un servicio de rastreo.- Nstdata Crawl es una mejor opción cuando el lote necesita páginas renderizadas, artefactos de página o recolección controlada a nivel de sitio en lugar de fetches en bruto.
Por qué fallan los lotes de URL grandes
Comienza con Nstdata Crawl cuando la recolección necesita renderizado o estado de tarea.
Un raspador por lotes falla cuando la tasa de envío, los límites del sitio objetivo, los reintentos y el almacenamiento de resultados se tratan como un solo bucle. Mil URL pueden producir escrituras duplicadas, tormentas de reintento, conexiones abiertas y ninguna forma confiable de reanudar después de que un trabajador o proceso se detiene. Comienza con Nstdata Crawl cuando el lote es una tarea de rastreo en lugar de una lista de solicitudes HTTP simples.
La primera decisión de diseño es la identidad del registro. Usa una URL canónica más un hash de configuración de fetch, no la posición en un archivo de entrada. Registra los estados queued, running, succeeded, failed y dead_letter, con el último error y el conteo de intentos. Esto hace que una ejecución parcial sea reparable.





