Comment récupérer gratuitement des avis clients avec Python (sans API)
Nous avons extrait les avis des plateformes Play, Yelp et Trustpilot à l'aide de Python. Chaque plateforme nécessitait une méthode différente :
- Pages entreprises Trustpilot : requêtes + BeautifulSoup avec plusieurs sélecteurs pour modifier le HTML.
- Entreprises Yelp : Selenium avec une configuration anti-détection pour contourner la protection renforcée contre les bots.
- Google Applications du Play Store : Selenium, combiné à la bibliothèque Google Play Scraper, fournit des résultats rapides et structurés.
Comment extraire les avis sur le jeu Google avec Python et Selenium
Étape 1 : Mise en place d'un système antidétection
Android continue de renforcer la protection anti-spam sur Play. Selon son rapport de sécurité Android, la plateforme a bloqué 160 millions d'évaluations et d'avis indésirables et a mis en place des protections supplémentaires contre le « review bombing ». 1
L'extraction des avis sur Play (Google) nécessite la désactivation des signaux d'automatisation. Le script configure Chrome avec les indicateurs d'automatisation désactivés, un agent utilisateur personnalisé et une taille de fenêtre fixe.
Commencez par headless=False pour surveiller le navigateur, puis passez à True une fois la stabilité assurée.
Conseil : Les bibliothèques d’automatisation pour navigateurs évoluent rapidement. Selenium a publié plusieurs mises à jour en 2026 (dont les versions 4.40 et suivantes). Par conséquent, l’utilisation de versions compatibles de Selenium, ChromeDriver et Chrome peut éviter les échecs de récupération de données dus aux mises à jour du navigateur.
Partie 2 : Recherche d’applications
Cette fonction recherche sur le Play Store les applications correspondant à votre terme de recherche et extrait les noms et URL des applications.
Cette fonction construit une URL de recherche avec `&c=apps` pour filtrer les applications. Elle recherche les liens contenant `/store/apps/details?id=` , qui correspond au modèle d'URL de Play : `Google`. L'identifiant de l'application provient de l'URL et son nom est extrait de la balise `<span>` parente.
Si aucun nom n'est trouvé, l'identifiant de l'application est utilisé. Le paramètre `max_apps` détermine le nombre d'applications à analyser (par défaut : 3, mais ajustable à 5, 10 ou plus). Le paramètre `search_term` définit la catégorie, par exemple : « achats d'occasion », « suivi de la condition physique » ou « retouche photo ».
Étape 3 : Extraction des avis
Cette fonction permet d'accéder à une page de l'application, de cliquer sur « Voir tous les avis » , de faire défiler pour charger plus d'avis et d'extraire les données des avis clients.
La fonction clique sur « Voir tous les avis » si cette option est disponible, puis attend la réception des avis. Si le bouton est absent, elle utilise le défilement. Les avis sont collectés jusqu'à ce que la limite soit atteinte ou que cinq défilements ne révèlent aucune nouvelle donnée.
Le programme extrait l'identifiant de l'avis, le nom d'utilisateur, la note, la date et le texte intégral de l'avis , en développant les avis tronqués lorsque cela est possible.
Sélecteurs CSS :
- .RHo1pe → conteneur de critiques
- .X5PpBb → nom d'utilisateur
- .iXRFPc → évaluation (aria-label)
- .bp9Aid → date
- .h3YV2d → texte de révision
Le paramètre max_reviews contrôle le nombre d'avis (par défaut 20, ajustable à 50, 100 ou plus).
Étape 4 : Assembler le tout
Ces fonctions combinent le flux de travail de recherche d'applications et de collecte des avis clients, puis enregistrent les résultats au format CSV.
Exemple d'exécution
Le processus recherche les applications, récupère les avis et les enregistre dans un fichier CSV. Chaque avis est associé au nom de l'application, à son identifiant et à son URL. Un délai de trois secondes entre chaque application permet d'éviter toute limitation de débit.
Avec les paramètres par défaut (3 applications × 10 avis), le script collecte environ 30 avis en 3 à 4 minutes . Le fichier CSV contient le nom de l'application, son identifiant, son URL, le nom d'utilisateur, la note, la date, le texte de l'avis et l'identifiant de l'avis .
Comment extraire les avis Yelp avec Python (sans API)
Étape 1 : Mise en place d'un système anti-détection
Yelp a renforcé sa lutte contre les faux avis et les avis générés par l'IA. Dans son dernier rapport « Confiance et sécurité », Yelp indique avoir filtré environ 500 000 avis suspectés d'être générés par l'IA et fermé plus d'un million de comptes pour non-respect des règles de la plateforme. Les données d'avis Yelp extraites de la base de données représentent donc un contenu ayant déjà passé les filtres de modération. 2
Lors de notre première tentative d'extraction de données Yelp à l'aide de Selenium basique, nous avons immédiatement rencontré un CAPTCHA . Yelp détecte les signaux d'automatisation, ce qui explique l'échec des configurations de base.
Nos tests ont révélé que Yelp vérifie certaines propriétés du navigateur. Les indicateurs d'automatisation de Chrome et la chaîne d'agent utilisateur peuvent également détecter l'automatisation.
Voici la configuration qui a fonctionné :
L'avancée décisive a consisté à redéfinir la propriété `navigator.webdriver` . En la remplaçant par `undefined` , Selenium n'est plus détecté. Combiné à une chaîne d'agent utilisateur personnalisée, cela donne l'impression que le navigateur est contrôlé par un véritable utilisateur.
Commencez par désactiver l'exécution (headless=False) pour surveiller le processus. Une fois l'exécution stabilisée, passez à True pour un scraping en arrière-plan plus rapide.
Étape 2 : Recherche et identification d’entreprises
Les résultats de recherche de Yelp se chargent progressivement et le code HTML utilise des noms de classes dynamiques qui changent fréquemment. Cela rend les sélecteurs basés sur des classes spécifiques inopérants.
Nos premières tentatives ont inclus des liens non pertinents comme « Voir plus d'avis » et « Voir le menu » . Un système de filtrage a ensuite été ajouté afin de ne cibler que les liens d'entreprises légitimes.
Nous faisons défiler la page plusieurs fois car Yelp charge les résultats progressivement. Le robot d'extraction collecte les liens contenant « /biz/ » , le format d'URL utilisé par Yelp pour les pages d'entreprises. Un filtrage permet de ne retenir que les entreprises valides, en ignorant les doublons et les noms de moins de trois caractères.
Le paramètre max_businesses détermine le nombre de résultats extraits. Commencez par 3 pour les tests, puis augmentez cette valeur une fois la stabilité assurée.
Étape 3 : Extraction des avis
Le principal défi de Yelp réside dans l'instabilité du HTML. Les sélecteurs CSS standard échouaient souvent ou renvoyaient des éléments incorrects.
En inspectant le code avec les outils de développement de Chrome, nous avons trouvé des avis à l'intérieur de balises de paragraphe dont le nom de classe contient « comment » . Ces balises contiennent des balises <span> contenant « raw » . Ce schéma reste constant même lorsque les noms de classes varient légèrement.
Cette approche utilise une correspondance partielle avec les classes `[class*="comment"]` et `[class*="raw"]` . Cela rend l'outil d'extraction de données plus robuste, car Yelp modifie fréquemment les noms de classes. Le script extrait le texte de l'avis, le nom d'utilisateur, la note et la date.
Étape 4 : Assembler le tout
Nous combinons désormais tout dans un flux de travail qui recherche les entreprises, récupère les avis sur les produits et enregistre les résultats au format CSV.
Exemple d'exécution
Un délai de deux secondes entre les requêtes permet d'éviter la limitation du débit. Lors des tests, ce délai s'est avéré fiable, mais il peut être réduit à une seconde pour les petites requêtes ou augmenté à cinq secondes pour l'extraction de données à grande échelle .
Chaque avis est étiqueté avec le nom de l'entreprise et son URL avant d'être enregistré, ce qui vous permet d'en retrouver la source.
Avec les paramètres par défaut (3 entreprises et 10 avis chacune), le script collecte environ 30 avis en 2 à 3 minutes. Une fois stabilisé, vous pouvez augmenter ce nombre.
- 10 entreprises × 20 avis chacune : environ 200 avis en environ 10 minutes
- 20 entreprises × 50 avis chacune : environ 1000 avis en 15 à 20 minutes.
Le fichier CSV comprend des colonnes pour le nom de l'entreprise, l'URL, le nom d'utilisateur, la note, la date et le texte de l'avis. Il peut être ouvert dans Excel ou importé dans pandas pour analyser les commentaires des clients.
Comment extraire les avis Trustpilot avec Python
Trustpilot utilise des systèmes automatisés pour détecter et supprimer les faux avis. Selon son Centre de confiance, ces systèmes analysent l'auteur de l'avis, l'entreprise et le texte de l'avis afin de repérer les avis suspects ou générés par l'IA avant leur publication sur la plateforme. 3
En 2026, Trustpilot a également renforcé sa gouvernance en nommant un responsable de la confiance, un rôle chargé d'améliorer la confiance dans la plateforme, la prévention de la fraude et l'intégrité des avis.
Étape 1 : Création et recherche d'entreprises
Bibliothèques requises
Nous importons les bibliothèques nécessaires :
- Requêtes : gère les requêtes HTTP
- BeautifulSoup : analyse le code HTML que nous recevons
- JSON : enregistre les données dans un format structuré
- délai : ajoute des délais pour éviter de surcharger le serveur
- Citation de urllib.parse : encode les termes de recherche pour les URL
La fonction de recherche
Le terme de recherche est encodé en URL avec la fonction quote(). Si une localisation est fournie, elle est ajoutée comme paramètre. Des en-têtes personnalisés simulent un navigateur réel afin de réduire les blocages, avec une chaîne User-Agent qui nous identifie comme Chrome sous Windows.
Effectuer la requête et analyser les résultats
Nous envoyons la requête avec les en-têtes et analysons les résultats à l'aide de BeautifulSoup. Comme Trustpilot modifie fréquemment les noms de classes, plusieurs sélecteurs sont définis.
Chaque sélecteur cible les liens contenant /review/ , qui renvoient vers les pages d'entreprises. Pour chaque lien, nous extrayons le slug (identifiant unique dans l'URL), le transformons en un nom lisible et retournons les trois premières entreprises trouvées.
Étape 2 : Récupération des données d’avis à partir des pages des entreprises
Examinez la fonction de récupération
La fonction parcourt les pages jusqu'à ce que le nombre d'avis souhaité soit atteint. Chaque page est demandée avec des en-têtes pour éviter d'être détectée, et la pagination est gérée en incrémentant le paramètre de page.
Extraction des fiches de révision
Nous utilisons plusieurs sélecteurs car Trustpilot modifie fréquemment son design. Chaque sélecteur cible différentes structures de fiches d'avis. Si aucune ne correspond, nous arrêtons l'extraction.
Analyse des avis individuels
Pour chaque avis, nous extrayons la note, le titre, le texte de l'avis, la date et le nom d'utilisateur. Grâce à des sélecteurs flexibles (avec fonctions lambda ), le scraper est résistant aux modifications HTML.
Après le traitement de chaque page, nous ajoutons un délai de 2 secondes à l'aide de time.sleep(2) . Ceci est essentiel pour respecter les serveurs de Trustpilot et éviter les limitations de débit ou les blocages d'adresse IP.
Étape 3 : Programme principal et sortie
Configuration de la fonction principale
Cette fonction principale définit les termes de recherche, la localisation et la limite d'avis. La localisation peut être définie sur n'importe quel pays (par exemple, « Allemagne ») ou sur « Aucune » pour des résultats internationaux. Un mécanisme de repli garantit le fonctionnement même en cas d'échec de la recherche.
Collecte et sauvegarde des données
Les avis de chaque entreprise sont stockés dans un dictionnaire contenant des métadonnées (URL, nombre d'avis). Un délai de 2 secondes est ajouté entre chaque entreprise afin de respecter les serveurs de Trustpilot. Enfin, les résultats sont enregistrés dans un fichier JSON encodé en UTF-8.
Affichage des résultats
Le script génère un résumé clair de tous les avis. Chaque avis affiche l' utilisateur, la note, le titre et le texte . La méthode `.get()` remplace les champs manquants par « N/A ». Enfin, le script confirme le nombre total d'avis extraits et le nom du fichier JSON.
Réflexions finales
L'extraction des avis depuis Play, Yelp et Trustpilot a nécessité différentes approches en Python. Chaque script exportait environ 30 avis par exécution au format CSV/JSON, incluant les noms d'utilisateur, les notes, les dates et le texte.
Outre les difficultés techniques liées à l'extraction de données, les plateformes d'avis s'appuient de plus en plus sur des systèmes de modération par IA, le filtrage des spams et des protections contre le « review-bombing ». Ces systèmes peuvent supprimer les avis suspects avant même leur publication, ce qui peut affecter l'exhaustivité des ensembles de données extraits.
Les points de référence ci-dessous mettent en évidence les principales différences :
FAQ
La collecte manuelle des avis clients est lente et incomplète. L'utilisation d'outils automatisés permet d'extraire des centaines, voire des milliers d'avis en quelques minutes.
Cela permet de gagner du temps et garantit que votre processus de collecte de données capture à la fois les avis positifs et négatifs.
Les avis clients collectés fournissent des informations précieuses pour les études de marché. Les entreprises peuvent ainsi suivre les préoccupations des clients, mesurer leur fidélité et analyser leurs préférences au fil du temps.
La plupart des plateformes d'avis imposent des restrictions à l'extraction automatisée de données. L'utilisation excessive de robots d'extraction de données Web peut entraîner l'affichage d'un CAPTCHA , le blocage d'une adresse IP ou une exclusion.
Pour réduire les risques, utilisez un processus automatisé respectueux, avec des limites de débit, des délais aléatoires et des proxys résidentiels si nécessaire.
Les champs habituels comprennent le texte des avis, les notes (étoiles), les noms d'utilisateur, les dates et les métadonnées. Certaines configurations enregistrent également des données structurées comme la localisation, la catégorie de produits ou le type d'entreprise.
Vous pouvez recueillir les avis des clients sur divers sites Web, y compris les plateformes de commerce électronique, les réseaux sociaux et les plateformes populaires comme Amazon, Walmart, Yelp, Play et Trustpilot.
Soyez le premier à commenter
Votre adresse courriel ne sera pas publiée. Tous les champs sont obligatoires.