Scraper les données d'hôtels d'Airbnb
Monday, May 17, 2021 9:51 AMAirbnb est un bon site Web pour vous aider à trouver un hôtel idéal. Dans ce tutoriel, nous vous montrerons comment utiliser Octoparse pour obtenir des informations d'hôtels d'Airbnb.
La façon la plus facile est d'utiliser des modèles de tâches prédéfinis d'Airbnb. Ce faisant, vous n'avez plus besoin de configurer vos tâches, mais entrez simplement des mots-clés / URL et attendez les données extraites. Pour plus de détails, vous pouvez consulter ici: https://dataservice.octoparse.com/fr/web-scraping-template
Continuez à lire ce tutoriel si vous voulez créer la tâche à partir de zéro. Voici le l'URL de la salle Airbnb que nous utiliserons comme exemple.
https://www.airbnb.com/s/New-York--NY--United-States/homes?adults=2&search_type=pagination&s_tag=A2EV74MC&tab_id=home_tab&refinement_paths%5B%5D=%2Fhomes&children=1&place_id=ChIJOwg_06VPwokRYv534QaPC8g&federated_search_session_id=2e7da092-4a51-48db-ba26-9746f41ac068
Voici les étapes principales de ce tutoriel [Télécharger le fichier de tâche ici]
- Aller à la page Web - ouvrir la page Web cible
- Auto-détecter la page Web - créer un flux de travail
- Extraire des données de la page de détail
- Modifier xpath pour champ de donné
- Créer une pagination
- Modifier XPath de pagination et loop item
- Démarrer l'extraction - exécuter la tâche et obtenir des données
1) Aller à la page Web - ouvrir la page Web cible
- Entrez l'URL sur la page d'accueil et cliquez sur "Démarrer"
2) Auto-détecter la page Web - créer un flux de travail
- Sélectionnez les deux premiers blocs pour détecter tous les blocs
- Cliquez sur "Loop click each URL" pour accéder à la page de détail
Un élément de boucle sera créé et Octoparse ouvrira automatiquement la première page de l'hôtel
3) Extraire des données de la page de détail
- Sélectionnez les informations que vous voulez et cliquez sur Extraire le texte de l'élément
- Sélectionnez Add customer field -> Données de niveau page -> URL de la page si vous souhaitez extraire l'URL de la page actuelle.
- Double-cliquez sur le champ de données pour en modifier le nom
4)Modifier xpath pour champ de donné
La structure des pages d'Airbnb est délicate et les XPaths générés automatiquement ne conviennent généralement pas à toutes les pages. Ne vous inquiétez pas ! Nous avons préparé tout ce dont vous avez besoin. Vous pouvez simplement utiliser l'élément XPath fourni ci-dessous.
- Passez en vue verticale - La vue verticale permet de modifier facilement plusieurs champs de données
- Double-cliquez sur le XPath pour le modifier
- Entrez le nouveau XPath dans le champ

-
Titre de l'hôtel : //h1
-
Nombre d'avis : //bouton[contient(@aria-label, 'Rate')]
-
Note de l'avis : //button[contains(@aria-label, 'Rate')]/../précédent::span[1]
-
Nombre d'invités : //span[contains(text(), 'guest')]
-
Nombre de chambres à coucher : //span[contains(text(),'bedroom')]
-
Nombre de bain : //span[contains(text(),'bathroom')]
-
Nombre de lits : //span[contains(text(), 'bed')] [not(contains(text(), 'room'))]
-
Prix : //div[contains(@style, 'pricing')]/div[1]//span
5) Créer une pagination
- Cliquez sur "Go to Web Page" pour ouvrir à nouveau la page d'inscription
- Sélectionnez le bouton de la page suivante (">") au bas de la page principale
- Choisissez Loop click single element dans les Tips
Une pagination sera créée dans le flux de travail.
- Faites glisser le flux de travail vers la bonne position
6) Modifier XPath de pagination et loop item
L'action auto-générée "Cliquer les URL dans la liste" ne marche pas bien dans ce cas, nous devons donc modifier le XPath pour qu'elle puis fonctionner.
- Cliquez sur Pagination
- Entrez xpath: //*[@aria-label='Next']
- Cliquez sur Loop Item
- Changez le mode de boucle en liste de variables
- Entrez XPath : //a[contains(@aria-labelledby, 'title')]
- Cliquez sur Appliquer pour enregistrer

La page suivante est chargée avec AJAX, nous devons donc ajouter un temps d'attente AJAX à l'action "Click to Paginate".
- Cliquez sur Click to Paginate
- Allez dans les Options
- Cochez Charger avec AJAX
- Définissez le temps d'attente d'AJAX à 5-10s
7) Démarrer l'extraction - exécuter la tâche et obtenir des données
- Cliquez sur "Enregistrer"
- Sélectionnez "Exécuter sur votre appareil" pour exécuter la tâche sur votre appareil, ou sélectionnez "Exécuter la tâche sur le cloud"pour exécuter la tâche sur le Cloud (uniquement pour les utilisateurs premium)
Voici l'exemple de l'exportation.
Scraper les informations d'entreprises sur Google Maps
Scraper les informations de produits d'eBay
Scraper des informations sur les offres d'emploi de Indeed