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.
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.
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.
Paso 4: Encuentra XPath de página 1
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.