undefined

Pourquoi Octoparse continue-t-il de gratter la dernière page et ne s'arrête jamais ? (Version 8)

Thursday, June 24, 2021 9:46 AM

Pagination est la fonctionnalité que vous utiliserez souvent dans Octoparse, car la plupart du temps, vous aurez besoin de plus d'une page de données pour votre projet.

Si vous trouvez qu'Octoparse continue toujours à gratter la dernière page et n'arrive pas à s'arrêter, c'est probablement parce qu'Octoparse est toujours capable de trouver et de cliquer sur le bouton "Suivant" même s'il a atteint la dernière page. Nous appelons généralement ce problème comme "boucle sans fin".

Il y a deux façons pour le résoudre. Vous pouvez configurer des conditions pour forcer Octoparse à quitter la boucle de pagination ou modifier manuellement le XPath afin qu'Octoparse ne puisse plus détecter le bouton "Suivant" lorsqu'il atteint la dernière page.

 

 1. Configurer la condition de fin de boucle - "Quitter la boucle quand"

L'option "Quitter la boucle quand" vous permet de forcer Octoparse à quitter la boucle de pagination après avoir répété un certain nombre de fois, par exemple, si vous voulez gratter les donnéesw des 50 premières pages, vous pouvez définir 49 comme nombre de répétition, Octoparse cliquera ainsi 49 fois sur le bouton "Suivant" et quittera la boucle de pagination une fois qu'il atteint la page-50.

Ce sera une méthode simple et efficace pour traiter ce problème si vous savez le nombre exact de pages à partir desquelles vous souhaitez récupérer des données. Suivez les étapes ci-dessous pour configurer les conditions de fin de boucle:

1)  Accédez aux paramètres de la boucle de pagination

2)  Trouvez et cliquez sur le bouton pour ouvrir les paramètre de l'action "Quitter la boucle"

mceclip0.png

3) Cochez la case et saisissez un nombre en tant que nombre de répétitions

4) Cliquez sur "OK" pour enregistrer les nouveaux paramètres

 

2. Modifier XPath

Si le problème n'est pas encore résolu après avoir défini une condition de fin de boucle, vous pouvez essayer de modifier le XPath de la boucle de pagination. Octoparse utilise XPath pour localiser tous les éléments sur la page, y compris le bouton "Suivant". Dans la plupart des cas, Octoparse est capable de générer un XPath automatiquement et précisément, mais c'est aussi nécessaire de réviser le XPath manuellement de temps en temps. Par exemple, dans le cas d'une boucle sans fin, vous devrez écrire un XPath qui peut localiser le bouton "Suivant" précisément sur toutes les pages, spécialement pour la dernière page.

 

Tips!

  • Quand vous devez travailler avec XPath, nous vous recommandons d'utiliser Firepath, une extension de FireBug. Attention, Firebug n'est plus compatible qu'avec les anciennes versions de Firefox (par exemple, la version 54), cliquez ici  pour obtenir les anciennes versions de Firebox et consultez cet article pour savoir comment installer FireBug et Firepath. En outre, vous pouvez connaître d'autres outils XPath répertoriés dans ce tutoriel : Qu'est-ce que XPath et comment l'utiliser dans Octoparse.

 

Voyons un exemple pour connaître comment écrire un XPath.

Comme vous pouvez voir sur les deux captures d'écran ci-dessous, le bouton "Suivant" est localisé par un XPath généré automatiquement par le plugin Firepath, sur la première page comme sur la dernière page.

Sur la première page:

Sur la dernière page:

 

 

Voyez l'attribut "class" sous la balise "a". Vous noterez que l'attribut "class" de la première page est "gspr next", alors que celui de la dernière page est "gspr next-d".

Cette remarque Nous aidera ensuite à écrire un nouveau XPath pour localiser le bouton "Suivant" uniquement lorsqu'il n'est PAS sur la dernière page. Le nouveau XPath est //a[@class='gspr next'].

Entrez simplement le nouveau XPath dans Firepath pour vérifier s'il peut localiser le bouton "Suivant" uniquement sur les pages avant la dernière page.

 

Sur la première page:

Sur la dernière page:

 

Génial! Nous n'avons maintenant aucun nœud correspondant sur la dernière page et c'est exactement ce que nous voulons : un XPath qui sélectionne avec succès le bouton "Suivant" sur la première page mais pas sur la dernière page. Bien sûr, pour être plus précis, vous pouvez encore vérifier si le bouton "Suivant" peut être sélectionné à la page 2, à la page 3, etc.

Après avoir saisi le nouveau XPath, suivez les étapes ci-dessous pour appliquer le nouveau XPath à la boucle de pagination :

1) Accédez aux paramètres de l'élément de boucle

2) Remplacez le XPath d'origine par le XPath révisé

mceclip1.png 

3) Cliquez sur "OK" pour enregistrer les nouveaux paramètres.

Si vous souhaitez savoir plus sur la modification de XPath, consultez notre tutoriel XPath ici   .

En conclusion, vous n'avez pas du tout besoins de vous inquiéter du problème de boucle sans fin. En fonction de vos besoins en matière de grattage, vous pouvez définir des conditions pour mettre fin à la boucle ou réviser le XPath pour le corriger. Si vous rencontrez des difficultés pour écrire le XPath qui vous convient, n'hésitez pas à nous contacter, nous serons ravis de vous aider.

 

Auteur: Jillian

Editeur: Isabel

 

Les articles récemment consultés

Nous utilisons des cookies pour améliorer votre expérience de navigation. Découvrez comment nous utilisons les cookies et comment vous pouvez les contrôler en cliquant sur les paramètres des cookies. Si vous continuez à utiliser ce site, vous consentez à notre utilisation des cookies.
Accepter Rejeter