La pagination est une technique largement utilisée dans la conception de sites Web qui divise le contenu en plusieurs pages, présentant ainsi de grands ensembles de données d’une manière beaucoup plus digeste pour les internautes.
Il existe de nombreuses méthodes de pagination employées par différents développeurs Web, telles que la pagination numérotée, le défilement infini, etc. Bien que l’on pense généralement que la pagination améliore l’expérience de l’utilisateur, la mauvaise nouvelle est qu’elle rend le scraping web plus difficile.
Si vous essayez d’extraire des données d’un site Web et que vous êtes confronté à un dilemme sur la façon de traiter la pagination pour le web scraping, nous vous proposons une solution. Octoparse, un outil de scraping Web automatique, permet de traiter des sites Web présentant diverses structures de pagination. Nous allons maintenant illustrer les différentes approches permettant de traiter les différents types de pagination avec Octoparse.
1. Pagination avec le bouton “Suivant”
Cliquer sur le bouton suivant pour paginer est peut-être l’une des méthodes de pagination les plus utilisées, permettant aux visiteurs de parcourir facilement les pages d’un site Web. Il est très simple de gérer ce type de pagination pour le web scraping chez Octoparse.
Qu’il s’agisse d’un bouton “Suivant” ou d’une simple flèche vers la droite “>”, il vous suffit de créer une boucle de pagination pour continuer à cliquer sur le bouton une fois que le scraping de la page en cours est terminé. (Voir un exemple ici)
2. Pagination numérotée sans le bouton “Suivant”
L’approche pour ce type particulier de pagination est très similaire à celle du bouton suivant. Vous voulez construire une boucle de pagination pour continuer à cliquer sur le numéro de la page suivante. Cependant, comme cette fois vous ne cliquerez pas sur un élément statique, il est essentiel de localiser précisément le numéro de la page suivante.
Octoparse utilise XPath (XML Path Language, qui utilise une syntaxe de type “chemin” pour identifier et naviguer dans les nœuds d’un document XML) pour localiser les éléments. Le point clé ici est donc de modifier le XPath de la boucle de pagination pour s’assurer qu’elle localisera toujours le numéro de la page suivante dès que la page actuelle aura été entièrement scrapée (consultez ce tutoriel pour savoir comment modifier le XPath pour localiser précisément le numéro de la page suivante).
3. Le défilement infini
Le défilement infini est une technique utilisée le plus souvent par les sites Web avec JavaScript ou AJAX pour charger du contenu supplémentaire de manière dynamique au fur et à mesure que les utilisateurs défilent vers le bas de la page Web. Au lieu d’utiliser les boutons de pagination “précédent/suivant”, de nombreux sites Web se tournent vers le défilement infini, évitant ainsi aux internautes de devoir cliquer sur les nombreuses pages. Le défilement infini est généralement utilisé par les sites Web ayant une grande quantité de données à afficher, comme les plateformes de médias sociaux telles que Facebook et Twitter.
Octoparse traite le défilement infinitif en imitant le comportement du défilement. En fonction de la quantité de contenu que vous souhaitez charger, il suffit de définir le temps de défilement approprié et la manière de défiler, pour faire défiler la page automatiquement (voir un exemple de twitter ici).
4. Button “Charger plus”
Le type de navigation par bouton “Load more” est une autre alternative populaire au défilement infini. Dans ce cas, vous disposerez d’un bouton spécifique, comme “Load More”, pour déclencher le chargement du contenu avec AJAX lorsque vous atteignez le bas de la page.
Octoparse traite le bouton “Load More” avec une boucle de pagination, ce qui est identique à la façon dont nous traitons le bouton “Next”, en cliquant sur un seul bouton de façon répétée. La différence est qu’avec le bouton “Load More”, la boucle de pagination doit s’exécuter jusqu’à ce que le bouton de chargement disparaisse avant de passer à l’étape suivante. Une fois que tout le contenu souhaité est chargé, le processus de scraping est aussi simple que le scraping d’une seule page (pour plus de détails, cliquez ici).
Conclusion
La pagination permet de réduire la complexité des pages et d’améliorer la lisibilité du contenu Web, mais elle doit être abordée en utilisant différentes approches, dont celle qui offre une efficacité maximale. Si nous ne traitons pas la pagination correctement, cela entraîne des données manquantes et une perte de temps. En faisant bon usage d’un outil de scraping web comme Octoparse, vous pouvez éviter les problèmes complexes de la pagination!