Scraper des data, c’est presque courant pour les prospecteurs. Certaines personnes essaient juste de disposer d’une liste d’informations à utiliser au besoin. Si vous voulez récupérer des données sur booking.com, il faudra être malicieux. Il peut s’agir des noms d’hôtels, des prix de chambres, des types de chambres, ou toute autre information utile. Voir notre article sur les outils de scraping.
Comment scraper booking.com avec Python et SelectorLib ?
Sommaire
C’est relativement simple. Booking.com est l’un des sites les plus sûrs si vous voulez tout savoir sur les hôtels… et à l’international. Même les conditions de location, les réservations, les dates d’arrivée et de départ, les chambres disponibles, etc. Vous pouvez tout avoir. Cependant, vous devriez utiliser Python et SelectorLib.
La règle est simple, vous devriez définir ce que vous cherchez : date disponible, prix des chambres, réservations… Il faudra ensuite copier le lien ou l’URL du résultat de la recherche. Après, transmettez-la au grattoir des hôtels sur la page recherche de bookin.com. Vous allez ensuite télécharger l’URL via Python et analyser le code HTML via SelectorLib. Le logiciel Scraper enregistrera les données récoltées dans un fichier CSV.
En fait, ce Scraper de data de l’hôtel est très pratique. Il vous permettra d’avoir les noms des Hôtels, leurs adresses exactes, le type de chambre, les différents tarifs, etc. Ici donc, vous devriez passer par deux programmes pour tout extraire. Ce qui est pratique si vous avez des connaissances en développement web. En effet, il faudra jouer avec un code dédié au Scraper. Comment faire ?
Installation des extensions
Il existe deux principales extensions : Python Request et SelectorLib. Python Request permet de chercher et de télécharger le contenu HTML sur booking.com. Vous aurez la page de résultats de recherche. SelectorLib aide à extraire des données via le fichier YAML. Celui-ci a été créé grâce aux pages web téléchargées. Vous devriez les installer via pip3.
Si vous savez comment faire avec les codes, cela ne devrait pas poser de problème. Dans le cas contraire, suivez des tutos à la lettre.
Recherche du code pour Scraper booking
Pour le code, il suffit de le télécharger depuis Github, toujours sur booking.com, le web Scraper. Il permet de créer un dossier spécial booking. Dans celui-ci sera placé le fichier Python pour l’extraction ou scrape.py. Il permet de créer un fichier urls.txt et de télécharger le contenu HTML de chaque URL. Il aide aussi à analyser le HTML via SelectorLib ou booking.yml. Il servira également de fichier de stockage pour la sortie. C’est le fichier CSV appelé data.csv.
Enfin, vous devriez créer le fichier urls.txt et y mettre les URL de tous les résultats de recherche. Le but est de créer le modèle SelectorLib.
Autre méthode possible avec Octoparse
Vous pouvez aussi faire comme ceci pour plus de facilité :
- ouvrir la page web ciblée, c’est-à-dire booking.com ;
- créer une boucle de pagination, ainsi vous allez facilement récupérer les résultats de plusieurs pages en même temps ;
- créer un « élément en boucle », l’objectif est de cliquer chaque élément automatiquement et en boucle ;
- extraire les data après les avoir sélectionnées ;
- lancer le mode extraction pour récupérer les données.
Le principe est donc le même, sauf que vous allez utiliser des logiciels différents. Vous pouvez donc utiliser Octoparse à la place de Python d’une URL pour scraper sur booking.com. Dans tous les cas, il faut installer l’extension ou les packages pour l’exécution du Scraper.
Comment obtenir l’URL de recherche et créer la boucle de pagination ?
Vous n’avez qu’à aller directement sur booking.com et à cliquer sur « + Tâche ». Ainsi, la recherche passe en mode avancé ou en mode scraping automatiquement. L’URL dans la barre de recherche est l’URL à copier ou l’URL d’extraction. N’oubliez pas de l’enregistrer en cliquant sur « Enregistrer URL ».
Pour la boucle de pagination, vous aurez à activer le « Mode flux de travail ». Il faudra remplacer le bouton « Flux de travail » en haut à droite sur Octoparse. Appuyez ensuite sur « page suivante » en fin de page. Terminez enfin avec un clic sur « l’élément en boucle » dans l’onglet « Conseils d’action ».
Créer l’élément en boucle pour scraper booking
Vous allez cliquer sur « Aller à la page web » et vous retournerez à la page d’accueil, et ce, même s’il y a plusieurs pages. Appuyez sur le premier lien de l’hôtel, puis sur « Sélectionner tout » dans « Conseils d’action ». Votre extension Octoparse s’active ensuite automatiquement pour enregistrer tous les liens vers chacun des sites ou des hôtels sur la page ouverte. L’avantage, c’est qu’Octoparse surligne en vert les liens copiés et en rouge ceux qui n’ont pas encore été enregistrés.
Vous allez ensuite cliquer sur « Loop click each element » pour avoir un « Loop Item ». L’extension Octoparse ouvrira chaque lien « l’élément en boucle » à votre place.
L’extraction des data proprement dite
Il faut d’abord séparer les données à extraire des data inutiles. Pour cela, cliquez sur « élément en boucle ». Octoparse ouvrira la page pour le premier hôtel. Vous pouvez ainsi choisir les informations qui vous intéressent. Pour les extraire, sélectionnez d’abord les textes puis appuyez sur « extraire le texte de l’élément sélectionné » dans « Conseils d’action ». S’il s’agit d’une image, vous devriez prendre l’URL avant de cliquer sur « Extraire l’URL du lien sélectionné ».
Pour enfin démarrer l’extraction, il suffit de cliquer sur « Démarrer l’extraction ». Le bouton se trouve en haut à gauche de la page. Pour faciliter le processus, cliquez sur « Extraction locale ». Ainsi, votre PC exécutera la tâche rapidement. Vous pouvez choisir l’option « Extraction dans le cloud » si vous voulez tout enregistrer dans le cloud.
0 commentaires