Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

450
Vistas
Problemas al ejecutar JS en funcionamiento con Scraping API: no realizar llamadas XHR completas

Intentar ejecutar algo de JavaScript a través de una API de raspado, con el objetivo de desplazarse por las páginas cargadas dinámicamente y luego analizar la respuesta completa. Probé el script en la consola en un sitio de subastas (con una sola página marcada) y funcionó como se esperaba.

 //Keep scrolling until the previous doc height is equal to the new height const infinite_scroll = async () => { let previous = document.body.scrollHeight; while (true){ window.scrollTo(0, document.body.scrollHeight); // Fully Wait Until Page has loaded, then proceed await new Promise(r => setTimeout(r, 2000)); let new_height = document.body.scrollHeight; console.log('%s Previous Height: ',previous) console.log(' ') console.log('%s New Height: ',new_height) if (new_height == previous){ break } else{ previous = new_height } } }; infinite_scroll();

En la pestaña de red, se muestran 11 llamadas XHR exitosas desde '372610?pn=6&ipp=10' a '372610?pn=16&ipp=10' ('pn', que representa el equivalente a un número de página e 'ipp', elementos por página)

Sin embargo, cuando trato de pasar este script a Scrapfly, la API que estoy usando, hace solo 3 llamadas XHR y la última se agota, así que en lugar de obtener la página completa, obtengo 20 elementos adicionales.

Usando la demostración de API (¡debería registrarse para obtener una cuenta gratuita!) Se puede reproducir agregando el script, configurando el tiempo de procesamiento en 10000 ms y agregando los siguientes encabezados;

 emailcta : pagehits%3D1%26userdismissed%3Dfalse cookie: UseInfiniteScroll=true

Mirando los detalles de la última llamada XHR, se agota el tiempo y tiene una respuesta nula. Los encabezados de solicitud de la llamada son idénticos a los dos exitosos anteriores, por lo que no estoy seguro de cuál es el problema.

El tiempo de JS_Rendering no parece afectar esto ni el tiempo de espera dentro de la función de desplazamiento infinito. Todo lo que dicen los documentos es:

"Proporcionamos una forma de inyectar su javascript para que se ejecute en la página web.

Debe basar su secuencia de comandos en base64. Su Javascript se ejecutará después del retraso de representación y antes del selector esperado (si está definido)". Codifican la secuencia de comandos en base64 y luego la ejecutan, pero el resultado es drásticamente diferente al de la consola.

about 4 years ago · Juan Pablo Isaza
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda