¿Por qué Download All pierde imágenes en galerías de desplazamiento infinito?
Descubra por qué una galería aparece completa en la pantalla mientras que un extractor solo ve el primer lote y cómo cargar el resto de manera confiable.

En esta página
- El desplazamiento infinito es un patrón de carga, no una tecnología
- Por qué un extractor rápido se detiene antes de tiempo
- Decide primero qué significa "todos"
- Observe lo que desencadena el siguiente lote
- Desplácese hasta el contenedor correcto
- Dé tiempo a cada lote para que se asiente
- Handle Load more buttons deliberately
- Las galerías virtualizadas necesitan una colección incremental
- Deduplicar sin eliminar variantes útiles
- Filtrar muebles de página del contenido de la galería
- Miniaturas y originales en largas galerías.
- Un formato de inventario reanudable
- Completitud de la prueba
- Respetar los límites del sitio y los límites privados
- Sepa cuándo la galería está realmente completa
Una galería infinita puede mostrar cientos de fotografías sin cargarlas todas a la vez. La página comienza con un lote, busca otro cerca del final y puede eliminar filas más antiguas para ahorrar memoria. Por lo tanto, un descargador que escanea solo una vez puede devolver las primeras veinte imágenes, las veinte últimas o una combinación de miniaturas y marcadores de posición.
La respuesta no es simplemente "desplazarse más rápido". Una captura completa y autorizada necesita un límite, una forma de detectar nuevos elementos únicos y un registro de lo que ya se ha recopilado. De lo contrario, el proceso puede detenerse antes de tiempo, recorrer recomendaciones o sobrecargar el sitio con solicitudes innecesarias.
Las secciones siguientes separan los patrones comunes de la galería y muestran cómo inventariar las imágenes a las que puede acceder sin perder lotes anteriores.
El desplazamiento infinito es un patrón de carga, no una tecnología
Varias implementaciones se parecen a un visitante:
- El HTML contiene muchas imágenes, pero la carga diferida nativa retrasa sus archivos.
- JavaScript recupera un nuevo lote cuando un centinela llega a la ventana gráfica.
- Un botón Cargar más solicita la página siguiente.
- Una cuadrícula virtualizada agrega nuevas filas y elimina las antiguas.
- La página mezcla una galería finita con un sinfín de recomendaciones.
Estos requieren diferentes reglas de parada. La inspección de la pantalla visible no puede indicarle cuál está en uso.
Por qué un extractor rápido se detiene antes de tiempo
Una solicitud estática recibe solo la respuesta inicial del servidor. Las imágenes posteriores pueden provenir de una API después de que se ejecute JavaScript. Incluso una herramienta renderizada puede detenerse demasiado pronto si escanea el DOM antes de desplazarse o llega al final antes de que finalice la siguiente solicitud.
Otras causas comunes incluyen:
- Las imágenes viven en
data-srchasta que se acercan a la ventana gráfica. - Se debe hacer clic en un botón.
- El sitio utiliza páginas API numeradas detrás de una interfaz perfecta.
- El contenedor de desplazamiento es un panel interior, no la ventana principal.
- El consentimiento, la región o el estado de inicio de sesión cambian el recuento de resultados.
- Una grilla virtualizada descarta elementos anteriores.
La guía de imágenes cargadas de forma diferida explica los atributos de origen y el comportamiento de Intersection Observer.
Decide primero qué significa "todos"
Un feed interminable puede no tener un final útil. Para un trabajo confiable, defina el objetivo desde una fuente que usted controle:
- Los 186 productos en una colección propia.
- Los 74 elementos de la cartera enumerados en el CMS
- Las primeras 10 páginas de la galería pública.
- Cada imagen vinculada desde un mapa del sitio de migración
- Artículos publicados antes de una fecha determinada.
No utilice "hasta que la ruleta se detenga" cuando el feed agregue recomendaciones para siempre. Una mejor fuente de información es una exportación de catálogo, un mapa del sitio, un recuento de bases de datos o una API documentada.
Observe lo que desencadena el siguiente lote
Abra Herramientas de desarrollo, borre el panel Red y desplácese hasta cerca del final del contenido cargado. Busque en Fetch/XHR una nueva solicitud. Su URL puede incluir un número de página, desplazamiento, cursor o ID de elemento.
Una solicitud basada en cursor podría devolver un token para el siguiente lote. Una solicitud basada en compensación podría solicitar offset=40&limit=20. No es necesario realizar ingeniería inversa en una API de terceros para utilizar la interfaz pública normal, pero comprender el patrón le ayudará a saber si el progreso es real.
Para su propia aplicación, documente el método de paginación y proporcione una ruta de exportación estable en lugar de obligar a los administradores a eliminar la cuadrícula visual.
Desplácese hasta el contenedor correcto
Algunas galerías colocan su propio panel de desplazamiento dentro de la página. Al desplazarse por la ventana del navegador no se mueve el centinela de la galería, por lo que no se cargan nuevas imágenes.
Inspeccione el diseño de un elemento con overflow: auto o overflow: scroll. Mueva ese contenedor y observe si aparecen nuevas solicitudes. Las galerías modales y las bibliotecas multimedia utilizan con frecuencia este patrón.
Un extractor renderizado también necesita identificar la región desplazable. Si una herramienta devuelve solo una pantalla, pruebe la página manualmente antes de concluir la extracción de bloques de la galería.
Dé tiempo a cada lote para que se asiente
Un ritmo manual seguro es:
- Desplácese hasta el final actual.
- Espere a que finalicen el indicador de carga y las solicitudes de red.
- Cuente nuevos artículos únicos.
- Guarde o registre sus URL.
- Repeat until the planned boundary is reached.
Saltar inmediatamente de arriba a abajo puede pasar el disparador antes de que una aplicación esté lista. La ejecución de muchas descargas simultáneas mientras la galería aún se está cargando también puede generar límites de velocidad.
Utilice Extracción profunda para páginas públicas que necesiten desplazamiento y paginación, luego verifique manualmente los lotes primero, intermedio y final.
Handle Load more buttons deliberately
Un botón visible suele ser más fácil de probar que el desplazamiento automático. Haga clic una vez, espere los nuevos elementos y confirme que el estado del botón cambió. No realice clics repetidos mientras las solicitudes anteriores estén pendientes.
El botón puede desaparecer cuando finaliza el conjunto de datos o puede convertirse en un error con una opción de reintento. Registre los fallos para poder reanudar una ejecución posterior en lugar de empezar de nuevo.
Para un sitio propio, haga que el botón sea accesible para los usuarios del teclado y mantenga una URL o API paginada real debajo. Eso mejora la usabilidad y hace que el contenido sea más fácil de auditar.
Las galerías virtualizadas necesitan una colección incremental
Una grilla virtualizada mantiene solo filas cercanas en el DOM. Cuando llegue al elemento 200, es posible que el elemento 1 ya no exista como elemento. Por lo tanto, un escaneo DOM final no puede producir el conjunto completo.
Recopile las URL a medida que aparecen los lotes. El panel Red con Preservar registro puede ayudar, pero puede contener variantes redimensionadas, íconos y solicitudes repetidas. Un proceso diseñado específicamente debe deduplicar de forma incremental y adjuntar cada URL a su ID de elemento.
No asuma que una URL equivale a un producto. Un mismo producto puede tener varias fotografías y varios tamaños responsivos.
Deduplicar sin eliminar variantes útiles
La deduplicación exacta de URL es un comienzo. No detectará la misma fuente detrás de diferentes parámetros de consulta, formatos o enlaces firmados.
Usar capas:
- URL normalizada exacta para solicitudes repetidas
- ID de artículo de galería o producto estable
- Ruta de origen sin transformaciones conocidas
- Hash de archivo para bytes descargados idénticos
- Hash perceptual para derivados visualmente similares
Mantenga las variantes de recorte y resolución cuando tengan diferentes propósitos. La guía de imágenes duplicadas explica las ventajas y desventajas.
Filtrar muebles de página del contenido de la galería
El desplazamiento expone más que imágenes de la galería. En el resultado pueden aparecer avatares, logotipos, iconos de recomendaciones, píxeles de seguimiento, anuncios y gráficos de interfaz adhesivos.
Los filtros útiles incluyen:
- Dimensiones mínimas
- Nombres de host o prefijos de ruta permitidos
- Contenedores de artículos conocidos
- Nombres de archivos y directorios de UI excluidos
- Expectativas de relación de aspecto
- Agrupación duplicada
No confíes sólo en el tamaño. Una pequeña pero importante muestra de producto y un gran cartel publicitario pueden romper una regla ingenua. Utilice la guía de filtrado de resultados de imágenes para crear un filtro en capas.
Miniaturas y originales en largas galerías.
Las cuadrículas infinitas suelen cargar miniaturas. Al abrir un elemento, es posible que se solicite un archivo de galería más grande. Decida si su trabajo necesita vistas previas, archivos listos para la web o masters originales.
Para una copia de seguridad autorizada, capture primero la relación del elemento y luego siga su zoom admitido o la ruta de descarga. Ejecutar todas las grandes transformaciones posibles en la CDN es innecesario y puede resultar costoso.
La guía de imágenes en tamaño completo cubre enlaces principales, srcset y vistas de zoom.
Un formato de inventario reanudable
Para cada elemento de la galería, almacene:
| Campo | Objetivo |
|---|---|
| ID del artículo | Stable deduplication and resume point |
| Página fuente | Muestra donde apareció |
| Lote o cursor | Ayuda a reproducir el rastreo. |
| Image URL | Registra el recurso entregado |
| Role | Miniatura, galería, zoom, logotipo u otro |
| Dimensiones | Separa pequeñas vistas previas de archivos más grandes |
| Estado | Descargado, omitido, fallido o necesita revisión |
| Nota de derechos | Registro de propiedad o licencia |
Guarde el progreso después de cada lote. Si el trabajo falla en el elemento 380, un manifiesto le permite continuar sin volver a solicitar el primer 379.
Completitud de la prueba
No confíes en un solo número. Compara varias señales:
- Expected item count from the CMS, export, or sitemap
- ID de artículos únicos recopilados
- Primeros y últimos registros visibles.
- Number of batches requested
- Respuestas fallidas o vacías
- Tasa duplicada
- A manual sample of downloaded files
Si el sitio informa 240 elementos y su manifiesto tiene 240 ID únicas sin lotes fallidos, esa es una evidencia más sólida que "la página parecía terminada".
Respetar los límites del sitio y los límites privados
Limite el flujo de trabajo a las galerías de su propiedad, las propiedades de los clientes que administre, las colecciones con licencia u otro uso permitido. No omita perfiles privados, requisitos de inicio de sesión, muros de pago ni límites de solicitudes deliberados.
Si una galería pública de terceros no ofrece exportación masiva, verifique sus términos antes de automatizar. Descargar un archivo y tener derecho a volver a publicarlo son cosas independientes. La lista de verificación de licencia de imagen cubre la verificación de la fuente.
Sepa cuándo la galería está realmente completa
El desplazamiento infinito oculta la línea de meta. Un escaneo en la parte superior omite lotes posteriores; un escaneo en la parte inferior puede omitir filas que la página eliminó de la memoria. Es por eso que correr con la barra de desplazamiento rara vez proporciona un archivo confiable.
Recopile cada lote a medida que llegue y guarde un manifiesto que pueda reanudar. Deduplica por ID de elemento cuando la galería tenga uno, no solo por URL, porque las URL transformadas pueden hacer que una fotografía parezca varios registros. El trabajo finaliza cuando su recuento único se concilia con el catálogo u otro total confiable, no cuando la ruleta desaparece.