Toutes les collections
Utiliser Octoparse
Comment gérer la pagination (pas de bouton "Suivant")
Comment gérer la pagination (pas de bouton "Suivant")
Mis à jour il y a plus d’une semaine

Si vous envisagez de récupérer les données d'un site web, vous devrez peut-être naviguer dans les différentes pages du site et extraire des données de chacune d'entre elles. La première étape consiste à identifier la pagination à laquelle vous avez affaire et à travailler à partir de là. Voici quelques exemples :

  • Paginer avec un bouton "Suivant"

  • Pagination sans bouton "Suivant

  • Pagination avec défilement infini

  • Paginer avec un bouton "Charger plus"

Dans ce tutoriel, nous allons voir comment créer une action de pagination lorsqu'il n'y a pas de bouton page suivante sur la page. Plus précisément, il s'agit d'une action qui nécessite de cliquer sur les liens numérotés lorsque vous souhaitez tourner la page, comme c'est le cas ci-dessous.

dwpnnb2.png
dwpnnb1.png


1. Créer une pagination avec Auto-détection

Avec la fonction Autodétection, Octoparse analysera automatiquement la page web pour détecter les données et les liens de pagination. Elle peut être activée dans vos paramètres pour lancer le processus d'auto-détection automatiquement à chaque fois.

Si Octoparse détecte des liens de pagination sur la page web, il y aura une option de pagination dans le panneau Conseils à la fin du processus de détection automatique. Vous pouvez cliquer sur Vérifier pour voir le lien détecté par Octoparse ou cliquer sur Modifier pour éditer le lien s'il n'est pas correct.

Il arrive que la détection automatique ne détecte pas les liens de pagination ou qu'elle détecte les mauvais liens. Dans ce cas, vous pouvez vous tourner vers l'une des solutions ci-dessous.


2. Utiliser "Générer par lot" pour créer des URL pour toutes les pages

Il y a une autre façon très efficace d'aborder le scraping de plusieurs pages d'un site web : collecter les URL de toutes les pages à scraper et à créer une tâche avec la liste des URL collectées.

dwpnnb5.png

Si vous voyez un schéma similaire à l'exemple ci-dessus (seulement le numéro de page change dans les URLs des différentes pages), vous pouvez facilement faire générer par lot toutes les URLs des pages et scraper autant de pages que nécessaire. Une fois les liens générés, Octoparse se chargera de récupérer toutes les pages automatiquement.


3. Créer une pagination manuellement

Même si la détection automatique ne fonctionne pas et que les URL des pages ne présentent pas de régle, vous pouvez toujours créer manuellement une action de pagination.

Il s'agit d'un processus en deux étapes :

ÉTAPE 1 : Écrire/trouver le XPath de l'élément de page qui vous amène à la page suivante (par exemple, si vous êtes sur la page 1, vous voudrez cliquer sur la page 2 ; si vous êtes sur la page 2, vous voudrez cliquer sur la page 3, et ainsi de suite).

ETAPE 2 : Réviser le XPath de la Pagination dans le flux de travail dans Octoparse.

A Noter :

La connaissance de XPath n'est pas obligatoire mais est extrêmement utile pour créer une tâche dans Octoparse. Consultez Qu'est-ce que XPath et comment l'utiliser dans Octoparse pour en savoir plus sur l'utilisation de XPath pour créer un scraper web parfait.

Cela vous semble compliqué ? Ne vous inquiétez pas, prenons un exemple.

Pour en savoir plus, vous pouvez utiliser le lien ci-dessous :

  • Cliquez sur la section pagination de la page web et cliquez sur Cliquer en boucle.

  • Obtenir xpath correct

Copier et coller l'URL de la page actuelle (http://www.enzolifesciences.com/product-listing/?product_type=Antibodies&application=&text=) à votre navigateur (par exemple, Chrome).

REMARQUE :

Vous devez télécharger un outil complémentaire pour votre navigateur appelé XPath Helper.

Dans votre navigateur, cliquez sur pour lancer le XPath helper.

dwpnnb7.png

Localisez les numéros de page sur la page web, cliquez avec le bouton droit de la souris sur la page 1 et sélectionnez l'option Inspecter.

dwpnnb8.png

Votre écran devrait maintenant ressembler à ceci. Le code surligné correspond au lien de la page 1.

dwpnnb9.png

Ensuite, cliquez avec le bouton droit de la souris sur le code mis en évidence, sélectionnez Copier, puis Copier XPath. Vous venez de copier le XPath de la page 1.

dwpnnb10.png

Voici le XPath que vous avez copié :

//*[@id="cs2-pagebrowsertop"]/div/div[2]/table/tbody/tr/td[3]/b

En examinant le code source, on constate que la page 2 est située une ligne en dessous de l'élément page-1.

dwpnnb11.png

En utilisant la syntaxe XPath following-sibling, qui recherche le nœud suivant sur la ligne, vous pouvez modifier le XPath copié pour l'élément page-1 en un XPath qui suit la page suivante (page-2 dans ce cas).

Le XPath correct qui est toujours utilisé pour localiser la page qui suit la page actuelle est le suivant :

//*[@id="cs2-pagebrowsertop"]/div/div[2]/table/tbody/tr/td[3]/b/following-sibling::a[1]

NOTE : En ajoutant /following-sibling::a[1] à la fin du XPath précédent, on recherche maintenant le premier élément href (a[1]) qui suit l'élément première page.

Saisissez le XPath correct dans la section Query du XPath helper et vous constaterez que la page 2 est correctement localisée à l'aide du XPath.

dwpnnb12.png
  • Remplacer le XPath existant avec le nouveau XPath. Copiez et collez le nouveau Xpath sous la pagination, puis cliquez sur "Appliquer" pour confirmer.

Avez-vous trouvé la réponse à votre question ?