Ir al contenido principal

Tratar la paginación (sin botón “Siguiente”)

Actualizado hace más de 10 meses

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 y Auto-Detectar no reconoce bien el XPath. 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 y cambiar Xpath de paginar

La lógica subyacente para resolver el problema es que necesitamos escribir una XPath que pueda localizar siempre el número de la siguiente página.

Dos puntos importantes:

1: Escribir la XPath del elemento de la página que te lleva a la siguiente página (por ejemplo, si estás en la página 1, entonces quisieras hacer clic en la página 2; si estás en la página 2, entonces quisieras hacer clic en la página 3, y así sucesivamente).

2: Revisar la XPath de la paginación en el flujo de trabajo en Octoparse.

Nota:Consulta aquí para conocer XPath

Tomamos este enlace como ejemplo para seguir adelante:

Paso 1:Ir al sitio web,F12 o Inspeccionar

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

mceclip0_3.png

Paso 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 o F12.

mceclip3.png

Paso 4: Encuentra XPath de página 1

xpath.png

Paso 5 :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”.

Este es el XPath que has copiado:

/html/body/div[3]/div[2]/div/div/div/div/nav/a[1]/span

Paso 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.

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:

/html/body/div[3]/div[2]/div/div/div/div/nav/span[1]/following-sibling::*[1]

Nota:

following-sibling::*[1]"

al final del XPath anterior, ahora busca el primer elemento href (a [1]) después del elemento de la primera página. * significa cualquier

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

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

Paso 7:Ingresa en Octoparse paso de Paginación

Nota:

Aquí hay otro ejemplo que se necesita agregar parent::*

Tarea:

//tr[14]/td/table/tbody/tr/td/span/parent::*/following-sibling::*[1]/a


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

A veces ningún XPath puede localizar o paginar establemente, tras observar, cada URL de página se forma en orden, solo se necesita cambiar el número de la URL.

Ejemplo:

...

Ppuedes 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.

¿Ha quedado contestada tu pregunta?