Tratar la paginación (sin botón "Siguiente")
Actualizado hace más de una semana

Si está pensando en raspar un sitio web, es probable que desees navegar por las diferentes páginas del sitio web y extraer datos de cada una de ellas. Sin embargo, el primer paso es identificar el tipo de paginación con el que estás tratando y trabajar desde allí. Algunos ejemplos son:

  • Paginar usando el botón "Siguiente"

  • Paginar sin el botón "Siguiente"

  • Paginar con desplazamiento infinitivo

  • Paginar usando el botón "Cargar más"

En este tutorial, nos centraremos en cómo crear una acción de paginación cuando no hay un botón de página siguiente en la página. Más específicamente, uno que requiera hacer clic en los enlaces numerados cuando desee pasar la página, como los que se muestran a continuación.

mceclip0.png
mceclip1.png

Ahora, exploremos las diversas formas en que puedes crear una acción de paginación sin un botón de página siguiente en Octoparse.

1. Crear paginación con detección automática

Si estás creando una nueva tarea con la detección automática de páginas web, Octoparse escanea automáticamente la página web en busca de datos web y enlaces de paginación.

mceclip0.png

Tips!

Si tienes "Detección automática" habilitada en Configuración, el proceso de detección automática se iniciará automáticamente.

Si Octoparse detecta algún enlace de paginación en la página web, se proporcionarán opciones de paginación en el panel de Tips al completar el proceso de detección automática. Puedes hacer clic en "Revisar" para ver el enlace detectado por Octoparse o hacer clic en "Editar" para editar el enlace si no se ha detectado correctamente.

mceclip1.png

Como todos sabemos, las páginas web tienen muchas formas diferentes. Habrá ocasiones en las que la detección automática no detecte los enlaces de paginación o se detecten enlaces incorrectos. En este caso, puede recurrir a una de las siguientes soluciones.

2. Utilizar "Generar por lotes" para crear URLs para todas las páginas

Una forma alternativa pero muy efectiva de abordar el raspado de varias páginas de un sitio web es recopilar primero las URLs de todas las páginas que necesitarías raspar y crear una tarea utilizando la lista de URLs recopiladas.

Eche un vistazo más de cerca a las URL de las páginas web de las diferentes páginas, ¿nota algo como esto?

mceclip3.png

Si estás viendo un patrón similar al ejemplo anterior, con solo el número de página cambiando en las URLs de las diferentes páginas, puedes generar por lotes todas las URL de la página y raspar las páginas necesarias. Una vez que hayas generado los enlaces, Octoparse continuará raspando todas las páginas automáticamente.

3. Crear paginación manualmente

Incluso si la detección automática no funciona y las URLs de la página no muestran un patrón, aún puedes crear una acción de paginación manualmente.

Será un proceso de dos pasos. Primero, va a escribir/buscar el XPath del elemento de la página que lo llevas a la página siguiente (por ejemplo, si estás en la página 1, entonces querrá hacer clic en la página 2; si está en la página 2, entonces quieres hacer clic en la página 3, y así sucesivamente). En segundo lugar, revisarías el XPath de la acción "Paginación" del flujo de trabajo en Octoparse. ¿Suena complicado? No te preocupes, vamos a ver un ejemplo.

Tips!

El conocimiento de XPath no es obligatorio, pero es extremadamente útil para crear una tarea que haga exactamente lo que necesitas en Octoparse. Revisa Qué es XPath y cómo usarlo en Octoparse para obtener más información sobre cómo usar XPath para crear el raspador web.

Tomamos este enlace como ejemplo para seguir adelante:

Paso1. Haz clic en la parte de paginación y haz clic en "Hacer clic en bucle en un solo elemento"

mceclip2.png

Paso2. Consigue el Xpath correcto

1) Copia y pega la URL de la página actual (https://losmejoresdemadrid.es/page/1/?s=abogado) a tu propio navegador (por ejemplo, Chrome). Ahora, debes descargar una herramienta complementaria del navegador llamada XPath Helper.

2) En tu navegador, haz clic para iniciar XPath Helper.

mceclip0_3.png

3) Busca los números de página en la página web, haz clic con el botón derecho en el enlace del número de página "1" y selecciona la opción Inspeccionar.

mceclip3.png

4) A estas alturas, tu pantalla debería verse así. El código resaltado corresponde al enlace de la página 1.

xpath.png

5) A continuación, haz clic con el botón derecho en el código resaltado, selecciona "Copiar" y luego "Copiar XPath". Acabas de copiar el XPath del enlace de número de página "1".

mceclip5.png

Este es el XPath que has copiado:

//*[@id="content"]/div/div/div/section[2]/div/div/div/div/div/div/div/nav/span

6) Al mirar el código fuente, puedes encontrar que la página 2 se encuentra una línea debajo del elemento de la página 1.

mceclip6.png

Usando la sintaxis XPath "following-sibling" que rastrea para el siguiente nodo siguiente en la línea, puedes modificar el XPath copiado para el elemento page-1 a uno que rastrea la página que lo sigue (página-2 en este caso).

Entonces, el XPath correcto que siempre debe ir a ubicar la página siguiente después de la página actual es:

//*[@id="content"]/div/div/div/section[2]/div/div/div/div/div/div/div/nav/span/following-sibling::a[1]

* Nota: Al agregar "/following-sibling::a[1]" al final del XPath anterior, ahora busca el primer elemento href (a [1]) después del elemento de la primera página.

Ingresa el XPath correcto en la sección de Consulta del XPath Helper, puedes ver que la página "2" está ubicada correctamente usando XPath.

mceclip7.png

Paso3. Revisa el XPath existente con el nuevo XPath

Copia y pega el nuevo XPath debajo de la paginación, luego haz clic en "Aplicar" para confirmar.

paginacion.png
¿Ha quedado contestada tu pregunta?