Si una tarea que sigue obteniendo datos duplicados extraídos, es probable que la página web esté cargada con AJAX. En este tutorial, aprenderá cómo evitar extraer datos duplicados en una página web que carga AJAX.
¿Qué es el AJAX?
AJAX significa JavaScript asíncrono y XML. Es un conjunto de técnicas de desarrollo web que permite que una página web actualice partes de contenido sin tener que actualizar la página. Cuando actualiza una página web que aplica AJAX haciendo clic, no se mostrará ningún signo de recarga como , ni cambios en la URL del sitio web.
AJAX se usa con mucha frecuencia para el desplazamiento infinitivo cuando tiene que desplazarse hacia abajo hasta la parte inferior de la página continuamente o hacer clic en el botón "Load More" para cargar completamente el contenido de la página.
¡Consejos!:
Lea más sobre AJAX: |
Tomaremos trip.com como ejemplo: https://bit.ly/2J2Fe0m
Trip.com aplica la técnica AJAX ya que recarga más contenido después de hacer clic en "Buscar más hoteles". Aquí está el crawler para la resolución de problemas.
Octoparse ejecuta cada paso del flujo de trabajo de arriba hacia abajo, de adentro hacia afuera. Para Trip.com en particular, la paginación se logra haciendo clic en el botón "Buscar más hoteles" repetidamente, muy similar al típico botón "Load More".
Imagine que si creamos el elemento de bucle dentro del bucle de paginación, el proceso de raspado es el siguiente: la página se carga, todos los listados disponibles en la página se enlazan y extraen, se hace clic en el botón "Buscar más hoteles", se cargan más listados, todos los listados disponibles, incluidos los que se han extraído previamente, se enlazan y extraen, así sucesivamente hasta que la página se haya cargado por completo, pero terminamos con muchos datos duplicados.
¿Cómo hacerlo bien?
Para asegurarnos de que el flujo de trabajo funcione correctamente para este escenario, primero podemos finalizar toda la carga de la página antes de hacer un bucle y extraer los listados. Arrastre el cuadro "Loop Item" fuera del bucle de paginación y colóquelo justo debajo del bucle de paginación. De esta manera, el crawler hará un bucle haciendo clic en "Cargar más hoteles" hasta que no haya más listados para cargar, luego recorrerá todos los listados disponibles en la página para extraer los datos necesarios.
Consejos Más tutoriales de depuración están aquí: |
De: http://www.octoparse.es/tutorial-7/recibiendo-datos-duplicados-en-el-website-de-ajax
Comentarios
0 comentarios
Inicie sesión para dejar un comentario.