Illustration de l’extracteur Tripadvisor ReviewsHôtels, restaurants et attractions

Extracteur Tripadvisor Reviews.

Collectez les avis Tripadvisor publics d’un hôtel, d’un restaurant ou d’une attraction et des lieux concurrents. Chaque avis arrive tel qu’il a été écrit, avec la traduction anglaise de Tripadvisor, pour comparer les marchés dans un seul tableau.

Lancer sur Apify

Comment utiliser cet extracteur.

Essayez ces exemples pour le marketing, la croissance et l’analyse concurrentielle.

01

Comparer un hôtel à ses concurrents

Collectez six mois d’avis pour votre hôtel et quatre concurrents proches. Comparez les notes moyennes et les sous-notes pour les chambres, le service et le rapport qualité-prix afin de voir où chacun se distingue.

Tenez un tableau comparatif par établissement, avec les liens vers les avis derrière chaque note.

02

Découvrir ce que mentionnent les visiteurs étrangers

Collectez les avis dans toutes les langues et lisez-les ensemble grâce aux traductions anglaises. Repérez les sujets plus fréquents sur un marché, comme le petit-déjeuner ou l’arrivée.

Rédigez une courte note sur l’expérience client par marché, en citant des avis traduits.

03

Vérifier les délais et le ton des réponses

Voyez quels avis négatifs ont reçu une réponse de la direction, qui l’a rédigée et en combien de temps. Comparez avec vos concurrents et retenez les bons exemples.

Tenez un journal des réponses avec leurs dates et le rôle de l’auteur.

DU PREMIER ESSAI AU FLUX RÉCURRENT

Votre premier essai, pas à pas.

  1. Ouvrez l’Actor sur Apify, choisissez Input et passez à l’éditeur JSON pour coller une configuration.
  2. Remplacez le lien d’exemple par un lien Tripadvisor vers votre hôtel, restaurant ou attraction, ou celui d’un concurrent. Copiez-le depuis la page du lieu dans votre navigateur.
  3. Gardez maxReviewsPerPlace à 100 pour le premier essai et laissez les filtres vides. Vérifiez le texte d’origine, la traduction anglaise et les champs du lieu, puis ajoutez des filtres de note, de langue, de type de voyage ou de date.
  4. Lancez l’exécution et consultez le journal. Vérifiez les cibles et filtres retenus avant de conclure qu’aucun résultat n’existe.
  5. Ouvrez Storage → Dataset, vérifiez quelques lignes et exportez en JSON pour les données imbriquées ou en CSV pour un premier examen dans un tableur.
Configuration de départ
{
  "places": [
    "https://www.tripadvisor.com/Hotel_Review-g186338-d187591-Reviews-The_Ritz_London_Hotel-London_England.html"
  ],
  "maxReviewsPerPlace": 100
}

Collez ceci dans l’éditeur JSON de l’Actor. Remplacez les cibles d’exemple avant de lancer.

Voir le formulaire actuel sur Apify

Choisissez votre mode de recherche.

Donnez au scraper un lien Tripadvisor, un identifiant de lieu ou un nom. Les liens et identifiants désignent un lieu ; les noms peuvent en trouver plusieurs. Chaque avis arrive tel qu’il a été écrit, avec la traduction anglaise de Tripadvisor, et tout l’historique depuis le premier avis est disponible.

Méthode de rechercheQuand l’utiliserCe qui change
Liens TripadvisorQuand l’utiliserVous avez déjà configuré la recherche sur le site source.Ce qui changeUn lien de tripadvisor.com, .co.uk, .de ou tout autre site Tripadvisor donne le même lieu et les mêmes avis. C’est la façon la plus claire de désigner un lieu.
Identifiants de lieuQuand l’utiliserVous connaissez l’entité exacte à collecter.Ce qui changeL’identifiant de lieu est le numéro en d d’un lien Tripadvisor, comme d187591. Court et stable, il convient à une liste enregistrée.
Noms de lieuxQuand l’utiliserVous cherchez des résultats pertinents avant de choisir des cibles précises.Ce qui changeUn nom lit tous les lieux que la recherche Tripadvisor trouve, les plus grands d’abord. Ritz London donne l’hôtel et plusieurs restaurants Ritz. Vérifiez place_name ou collez un lien pour un seul lieu.

La différence à retenir

Chaque avis arrive dans sa langue d’origine, avec la traduction anglaise de Tripadvisor dans title_english et text_english. Lisez les versions anglaises pour comparer les marchés et citez le texte d’origine dans vos rapports.

Comparer le scraper associé

Tous les paramètres, expliqués.

Utilisez les noms exacts ci-dessous en JSON. Dans le formulaire Apify, saisissez les éléments des listes séparément et respectez les types numériques et booléens.

Valeur par défaut et préremplissage sont différents. La valeur par défaut s’applique si vous omettez un réglage ; le préremplissage est un exemple déjà saisi dans le formulaire Apify. Vérifiez cibles et limites avant chaque collecte. Certains réglages n’ont pas de valeur par défaut dans le schéma. Indiquez au moins une cible prise en charge.

Cibles et recherches1
places
ListeExemple prérempli : ["https://www.tripadvisor.com/Hotel_Review-g186338-d187591-Reviews-The_Ritz_London_Hotel-London_England.html"]

Un lieu par ligne : un lien Tripadvisor vers un hôtel, un restaurant, une attraction ou une visite depuis n’importe quel pays, son identifiant (d187591) ou son nom. Un nom correspond à tous les lieux que la recherche Tripadvisor trouve sous ce nom.

Marchés, dates et filtres5
ratings
Liste

Uniquement les avis avec ces notes, en texte de 1 (Terrible) à 5 (Excellent). Choisissez 1 et 2 pour les avis négatifs. Vide signifie toutes les notes.

languages
Liste

Uniquement les avis rédigés dans ces langues, en codes ou en noms comme en, de ou French. Vide signifie toutes les langues : chaque avis dans sa langue d’origine, avec la traduction anglaise de Tripadvisor.

dateFrom
Texte

Uniquement les avis publiés à cette date ou après. Utilisez YYYY-MM-DD ou une période relative comme 30 days ou 6 months. Avec une planification quotidienne ou hebdomadaire, une date relative ne collecte que les nouveautés.

tripTypes
Liste

Uniquement les avis de ces types de voyage : Business, Couples, Family, Friends ou Solo. Beaucoup d’auteurs n’indiquent pas le type de voyage, donc le filtre écarte aussi ces avis. Vide signifie tous les avis.

searchText
Texte

Uniquement les avis qui mentionnent ce mot ou cette expression, selon la recherche d’avis de Tripadvisor, par exemple breakfast, noise ou rooftop. Un sujet par exécution.

Limites, détails et proxys3
maxReviewsPerPlace
EntierExemple prérempli : 100

Les avis les plus récents de chaque lieu, jusqu’à ce nombre. Commencez par 100. Vide signifie tous les avis, jusqu’au premier.

maxReviews
Entier

Un plafond d’avis pour toute l’exécution, toutes cibles confondues. Utilisez-le pour limiter la durée et le coût. Vide signifie aucun plafond global ; la limite par cible s’applique toujours.

proxyConfiguration
ObjetPar défaut : {"useApifyProxy":true,"apifyProxyGroups":["RESIDENTIAL"],"apifyProxyCountry":"US"}Exemple prérempli : {"useApifyProxy":true,"apifyProxyGroups":["RESIDENTIAL"],"apifyProxyCountry":"US"}

Le proxy résidentiel US est le réglage par défaut qui fonctionne. Tripadvisor répond aux sorties résidentielles, le proxy datacenter d’Apify fonctionne aussi, et les autres réglages reviennent au résidentiel en cas de refus.

Réglages avancés et reprise2
resume
Vrai ou fauxPar défaut : true

Sauvegarde la progression environ toutes les 30 secondes pour reprendre après un redémarrage ou une migration Apify. Laissez-le activé.

continueFromLastRun
Vrai ou fauxPar défaut : false

Poursuit le travail inachevé du run précédent avec la même entrée. Les résultats précédents restent dans son dataset. Gardez false pour une collecte nouvelle ou régulière.

Cette référence reprend les paramètres de l’Actor. Vérifiez le formulaire actuel avant de modifier un flux de production. Voir le formulaire actuel sur Apify.

Des configurations à copier.

Chaque exemple est une exécution distincte. Commencez petit, vérifiez les résultats, puis élargissez. Adaptez les cibles, pays et dates à votre recherche.

Comparer trois hôtels

Collectez six mois d’avis pour un hôtel via son identifiant et pour deux concurrents par leur nom, jusqu’à 300 chacun. Vérifiez place_name avant de comparer, car un nom peut aussi trouver des restaurants situés dans un hôtel.

Comparer trois hôtels
{
  "places": ["d187591", "The Savoy London", "The Langham London"],
  "dateFrom": "6 months",
  "maxReviewsPerPlace": 300
}

Examiner un an d’avis négatifs

Collectez les avis à 1 et 2 étoiles d’un restaurant sur les 12 derniers mois. Vérifiez lesquels ont reçu une réponse de la direction et en combien de temps.

Examiner un an d’avis négatifs
{
  "places": ["d719141"],
  "ratings": ["1", "2"],
  "dateFrom": "12 months",
  "maxReviewsPerPlace": 200
}

Suivre un sujet sur plusieurs marchés

Collectez les avis mentionnant breakfast pour des voyages en famille et en couple, écrits en anglais, français ou allemand. Comparez ce que dit chaque groupe en lisant les traductions anglaises ensemble.

Suivre un sujet sur plusieurs marchés
{
  "places": ["d187591"],
  "searchText": "breakfast",
  "tripTypes": ["Family", "Couples"],
  "languages": ["en", "fr", "de"],
  "maxReviewsPerPlace": 200
}

Exécutez, vérifiez, exportez, recommencez.

Attendez-vous à une ligne par avis avec la note, le texte d’origine, la traduction anglaise, les dates, le type de voyage, les sous-notes, l’auteur et la réponse de la direction, plus la note et l’adresse du lieu. L’enregistrement SUMMARY indique combien d’avis compte chaque lieu, combien correspondent à vos filtres et combien ont été collectés. Les détails de chaque lieu sont enregistrés dans PLACES, dans le stockage clé-valeur.

  1. Consultez le dataset et le record SUMMARY. Comparez le total à votre limite, vérifiez les entrées ignorées ou échouées et contrôlez quelques liens sources.
  2. Conservez les identifiants et ajoutez collected_at et run_id à l’enregistrement. Utilisez CSV pour les colonnes simples et JSON pour les listes ou détails imbriqués.
  3. Enregistrez la configuration testée comme Apify Task et programmez-la. Pour des observations régulières, laissez continueFromLastRun à false. Dédupliquez par identifiant en conservant chaque date d’observation.
  4. Dans Make ou n8n, attendez la fin du run, récupérez son dataset et mappez les champs vers Sheets ou votre entrepôt. Alimentez Looker Studio avec une table de reporting et utilisez dbt pour transformer et tester les modèles.
  5. Le même JSON fonctionne avec l’API Actors d’Apify. Dans Claude avec Apify MCP, nommez cet Actor, demandez la lecture du schéma et précisez cibles, marchés et limites avant l’exécution.

Reprendre ne crée pas une nouvelle observation

resume protège le run actuel si Apify le redémarre. continueFromLastRun poursuit un ancien run avec la même configuration ; ses données restent dans son dataset. Réunissez les deux datasets et augmentez une limite déjà atteinte. Relancez de zéro pour observer les changements d’aujourd’hui.

Suivre les guides Sheets, Claude, Looker et BigQuery
Lancer cet Actor par l’API

Enregistrez une configuration ci-dessus dans input.json. Définissez APIFY_TOKEN avec votre jeton Apify dans le terminal, puis envoyez le fichier comme corps de requête.

Démarrer la collecte
curl --fail-with-body --request POST \
  --url "https://api.apify.com/v2/actors/jmlp~tripadvisor-reviews-scraper/runs" \
  --header "Authorization: Bearer $APIFY_TOKEN" \
  --header "Content-Type: application/json" \
  --data-binary @input.json

La réponse contient un identifiant de collecte et defaultDatasetId, pas les résultats finaux. Attendez la réussite, définissez DATASET_ID avec cet identifiant et récupérez les lignes. Pour les gros jeux, utilisez limit et offset pour paginer.

Récupérer les données
curl --fail-with-body \
  --url "https://api.apify.com/v2/datasets/$DATASET_ID/items?format=json" \
  --header "Authorization: Bearer $APIFY_TOKEN"

Référence API de lancement et d’export d’Apify
Options d’export des données

Si les résultats vous surprennent.

Modifiez un réglage à la fois, gardez une petite limite et consultez le résumé avant d’élargir.

Les résultats contiennent des lieux que je n’ai pas demandés.

Un nom lit tous les lieux que la recherche Tripadvisor trouve, les plus grands d’abord. Ritz London donne l’hôtel et plusieurs restaurants Ritz. Vérifiez place_name ou collez un lien pour un seul lieu.

Beaucoup d’avis n’ont ni sous-notes ni type de voyage.

Les sous-notes, le type de voyage et la date de séjour sont facultatifs sur Tripadvisor, et beaucoup d’auteurs les omettent. Les valeurs manquantes restent vides, sans estimation. Indiquez sur combien d’avis repose chaque moyenne.

La source renvoie des pages vides ou des erreurs d’accès.

Le proxy résidentiel US est le réglage par défaut qui fonctionne. Tripadvisor répond aux sorties résidentielles, le proxy datacenter d’Apify fonctionne aussi, et les autres réglages reviennent au résidentiel en cas de refus.

Le run a réussi, mais reste vide

Un succès indique que l’Actor a terminé, pas que la source a fourni des données. Consultez SUMMARY.inputProblem, SUMMARY.problem et le journal : cible manquante, filtre non pris en charge ou requête refusée. Essayez une cible connue avec moins de filtres.

Moins de lignes que prévu

Vérifiez les limites globales, par recherche et par page, la couverture et les doublons. Plusieurs recherches peuvent trouver la même ligne. Le total annoncé par la source peut inclure des données non accessibles publiquement. Vérifiez les tâches inachevées avant de considérer le dataset complet.

Utilisez les résultats dans vos outils.

Google Sheets

Ajoutez review_id, place_name, rating, published_at, trip_type et language. Prévoyez des colonnes pour le sujet et le suivi, puis filtrez les avis négatifs sans réponse.

Lire le guide
Claude + MCP

Demandez à Claude de comparer ce que les visiteurs mentionnent pour chaque lieu, à partir de text_english et en citant review_url. Faites-lui signaler les points qui reposent sur peu d’avis.

Lire le guide
Looker Studio

Affichez la note moyenne et les sous-notes par mois pour chaque lieu. Ajoutez des filtres par type de voyage et langue, et indiquez sur combien d’avis repose chaque chiffre.

Lire le guide
BigQuery + dbt

Conservez les avis par review_id avec l’heure de collecte. Dépliez subratings dans une table enfant et stockez les instantanés des lieux à part pour suivre l’évolution des notes.

Lire le guide
Copier une consigne pour Claude
Consigne pour Claude + Apify MCP
Examinez jmlp/tripadvisor-reviews-scraper, puis collectez jusqu’à 200 avis publiés au cours des six derniers mois pour https://www.tripadvisor.com/Hotel_Review-g186338-d187591-Reviews-The_Ritz_London_Hotel-London_England.html. Résumez ce que les clients apprécient et critiquent à partir de text_english, citez review_url pour chaque point et indiquez le taux de réponse aux avis à 1 et 2 étoiles.

Les champs disponibles.

Conservez la date de collecte et les identifiants d’origine pour vérifier la provenance d’un résultat ou le comparer à une exécution ultérieure.

Avant de tirer des conclusions

Les avis viennent de clients qui ont choisi d’en écrire un : ce n’est pas une enquête représentative de toutes les visites. Les sous-notes et types de voyage sont facultatifs et souvent absents. Les versions anglaises sont des traductions automatiques de Tripadvisor, vérifiez donc le texte d’origine avant de citer un avis. Un nom peut correspondre à plusieurs lieux : collez un lien quand vous voulez un lieu précis.

review_id / review_url
Identifiant stable et page publique de l’avis.
rating / title / text / language
La note et l’avis tels qu’ils ont été écrits, et leur langue.
title_english / text_english
Traduction anglaise de Tripadvisor pour les avis rédigés dans d’autres langues.
travel_date / trip_type / subratings
La date de la visite, le type de voyage et les notes par critère.
reply_text / reply_author
La réponse de la direction et le rôle de son auteur.
place_name / place_rating / place_review_count
Le lieu et sa note globale au moment de la collecte.

Questions fréquentes.

Faut-il un compte Tripadvisor ?

Non. Le scraper lit les avis publics de Tripadvisor comme un visiteur non connecté. Il vous faut un compte Apify pour l’exécuter.

Pourquoi certains avis n’ont-ils pas de version anglaise ?

text_english n’est rempli que pour les avis rédigés dans une autre langue. Les avis en anglais n’ont pas besoin de traduction.

Source et informations actuelles : Actor Tripadvisor Reviews de JMLP sur Apify.

D’autres extracteurs
qui pourraient vous être utiles.

Parlons de
votre projet.

Dites-moi ce que vous devez collecter ou comprendre. Je peux vous aider avec un extracteur sur mesure, un pipeline ou l’analyse.

Parlons de votre projet