Comment utiliser WebScrapingAPI pour collecter des données Yelp ?

Robert Sfichi le 12 août 2021

blog-image

Vous êtes-vous déjà demandé comment les entreprises s'y prenaient pour surveiller leurs concurrents ? Bien sûr, les agents doubles, les détectives privés et les jumelles peuvent sembler amusants, mais la vie réelle n'a rien à voir avec les films. L'analyse de la concurrence est un processus fastidieux qu'il vaut mieux laisser aux logiciels. Vous pouvez ainsi vous concentrer sur la valeur ajoutée que vous apportez à vos clients.

De nos jours, vos concurrents disposent déjà de toutes les informations dont vous avez besoin. Les médias sociaux ayant connu un essor considérable au cours des deux dernières décennies, les entreprises essaient d'être plus présentes dans la vie de leurs clients en créant une présence en ligne. L'information est déjà là. Il suffit de trouver un moyen d'automatiser le processus de collecte des données.

Dans l'article suivant, nous allons construire un script qui nous aidera à rassembler toutes les informations dont nous avons besoin concernant nos concurrents commerciaux en tirant parti de leurs profils Yelp publics.

Pourquoi vous devez rechercher des données sur vos concurrents

Étudier les prix des produits des concurrents, surveiller leur gamme de produits et leurs catégories, ou analyser leur stratégie en matière de médias sociaux ne sont que trois des tactiques les plus précieuses que vous pouvez utiliser pour améliorer votre entreprise.

Trouver et comparer les prix des produits n'est pas une tâche très difficile, mais elle prend du temps. L'utilisation d'un outil de "web scraping" peut vous aider à obtenir automatiquement des informations actualisées sur la stratégie de prix et les ventes flash de vos concurrents.

L'analyse des lignes de produits et des catégories de vos concurrents vous aide à mieux comprendre les tendances qui définissent le marché. Par exemple, si vous êtes propriétaire d'un restaurant, vous pouvez découvrir qu'un plat spécifique, comme le burger végétalien, est en vogue dans votre ville, ce qui vous permet d'adapter votre menu pour augmenter vos ventes.

Les médias sociaux ne servent pas uniquement à renforcer le lien entre l'entreprise et le client. En analysant la stratégie de vos concurrents en matière de médias sociaux, vous pouvez découvrir ce qui fonctionne et ce qui ne fonctionne pas en quelques minutes seulement. Vous pouvez facilement trouver des réponses à des questions telles que "Combien de fois publient-ils par semaine ?" ou "Quels sont les éléments visuels qui maintiennent l'engagement à un niveau élevé ?

Pourquoi Yelp est l'endroit idéal pour collecter des données sur les concurrents ?

Yelp est l'une des plateformes en ligne les plus populaires où les utilisateurs peuvent partager leurs expériences tout en aidant les autres à prendre des décisions éclairées sur les entreprises locales. Si vous êtes propriétaire d'une entreprise ou si vous souhaitez en créer une, le fait de trouver des informations précieuses sur la concurrence peut améliorer considérablement votre taux de réussite. Des informations sur l'emplacement exact, les horaires de travail, les services de livraison ou le type d'entreprise ne sont que quelques-unes des informations que vous pouvez trouver en naviguant sur Yelp.

Ce qui est encore mieux, c'est que vous pouvez réduire le temps que vous consacrez à l'analyse de la concurrence en utilisant un outil de web scraping et vous concentrer davantage sur la création d'une meilleure entreprise. Cette stratégie sera payante à long terme, car l'automatisation du processus de collecte de données peut devenir l'une des tâches les plus fastidieuses et les plus chronophages.

Comment utiliser WebScrapingAPI pour extraire des données de Yelp

Dans la section suivante, nous utiliserons Node.js et quelques bibliothèques comme got et jsdom pour créer le script qui récupérera toutes les données d'une page Yelp et les formatera joliment pour qu'elles soient aussi compréhensibles que possible. Voyons comment toutes les informations présentées ci-dessus peuvent être converties en résultats tangibles :

1. Trouvez les données dont vous avez besoin

Supposons que nous souhaitions ouvrir un restaurant à New York. Nous voudrions créer une liste de concurrents comprenant des informations utiles telles que :

  • Nombre d'examens
  • Type de restaurant
  • Tarification
  • Localisation
blog-image

L'URL que nous allons récupérer est la suivante : https://www.yelp.ie/search?find_desc=restaurant&find_loc=New+York%2C+NY%2C+United+States&ns=1.

Vous pouvez faire du scraping en même temps que l'article si vous commencez votre essai gratuit avec 5000 requêtes et l'accès à toutes les fonctionnalités pour tester notre produit. Vous pouvez utiliser l'outil de scraping avec lequel vous vous sentez le plus à l'aise. Sachez simplement qu'à partir de maintenant, le tutoriel se concentrera sur la manière d'obtenir des résultats en utilisant WebScrapingAPI.

Après avoir créé un compte gratuit, accédez à la page du terrain de jeu de l'API en cliquant sur le bouton "Utiliser le terrain de jeu de l'API" sur la page du tableau de bord. La page devrait ressembler à ceci :

blog-image

Comme son nom l'indique, c'est l'endroit où nous pouvons tester l'outil de scraping avant de créer notre script. Copions l'URL présentée ci-dessus dans l'entrée URL (colonne de gauche), faisons défiler un peu vers le bas et cliquons sur le bouton "Envoyer une requête API". Cette action devrait renvoyer un résultat qui ressemble à ceci :

blog-image

Construisons maintenant le script qui va faire le plus gros du travail pour nous.

2. Mise en place du projet

Créez le dossier du projet, ouvrez une fenêtre de terminal et naviguez-y. Comme nous l'avons dit précédemment, nous utiliserons la bibliothèque 'got' pour faire les requêtes et 'jsdom' pour nos besoins d'analyse. Après avoir accédé au dossier du projet, exécutez les commandes suivantes dans le terminal :

npm init -y
npm install got jsdom

Le projet devrait maintenant inclure les fichiers "package.json". Créez un nouveau fichier appelé "index.js" et ouvrez-le à l'aide de votre IDE préféré. Si vous n'en avez pas installé, nous vous recommandons de télécharger Visual Studio Code, qui est considéré comme l'IDE le plus populaire à l'heure actuelle.

3. Faire une demande

Définissons les paramètres, effectuons la requête et analysons le code HTML. Écrivez les lignes suivantes dans le fichier "index.js" nouvellement créé :

const {JSDOM} = require("jsdom")

const got = require("got")

(async () => {
const params = {
api_key: "YOUR_API_KEY,”
url:"https://www.yelp.ie/search?find_desc=restaurant&find_loc=New+York%2C+NY%2C+United+States&ns=1"
}

const response = await got('https://api.webscrapingapi.com/v1', {searchParams: params})


const {document} = new JSDOM(response.body).window

const competitors = document.querySelectorAll('.container__09f24__sxa9-')

console.log(competitors)

})()

Veillez à remplacer la chaîne "YOUR_API_KEY" par la clé API qui vous a été fournie par notre service. Vous pouvez la trouver sur la page du tableau de bord.

En exécutant le script, nous adressons une demande au service WebScrapingAPI pour obtenir le code HTML de la page Yelp. Nous collectons ensuite tous les éléments de la page contenant des informations sur nos concurrents et les affichons à l'écran à l'aide de la fonction "console.log".

4. Inspection de la page

Revenons à la page Yelp et découvrons comment sélectionner uniquement les informations dont nous avons besoin. Cliquez avec le bouton droit de la souris sur le nom du premier restaurant et cliquez sur "Inspecter".

Vous obtiendrez une nouvelle fenêtre contenant le code source HTML :

blog-image

Trouvons toutes les informations dont nous avons besoin en recherchant les éléments HTML qui les contiennent. Dans l'image présentée ci-dessus, nous pouvons facilement voir que l'élément contenant le nom du restaurant a une classe CSS de "css-166la90". Pour obtenir tous les noms de nos concurrents, nous devons sélectionner tous les éléments de la page ayant cette classe. Nous ferons de même pour tous les détails présentés précédemment, comme le nombre d'avis, le type de restaurant, le prix et la localisation.

5. Mise en forme des informations

Nous allons maintenant obtenir toutes les informations dont nous avons besoin à partir de la réponse de l'API. Nous allons récupérer et mettre en forme le nom du restaurant, le score des critiques, le type de restaurant, la fourchette de prix et l'emplacement. Ajoutez les lignes de code suivantes au fichier "index.js".

competitors.forEach((competitor) => {
if (competitor) {
const name = competitor.querySelector('.css-166la90')
if (name) competitor.name = name.innerHTML

const reviewScore = competitor.querySelector('.reviewCount__09f24__EUXPN')
if (reviewScore) competitor.review_score = `${reviewScore.innerHTML}/100`

const types = competitor.querySelectorAll('.css-1hx6l2b')
if (types) {
competitor.types = []
for (type of types) competitor.types.push(type.innerText)
}

const priceRange = competitor.querySelector('.priceRange__09f24__2O6le')
if (priceRange) competitor.price_range = priceRange.innerHTML

const locationContainer = competitor.querySelector('.priceCategory__09f24__Ylk7h')
if (locationContainer) {
let location = locationContainer.querySelector('.css-e81eai')
competitor.location = location
}

results.push(competitor)
}
})

console.log(results)

Au final, nous aurons un tableau d'objets, et chacun d'entre eux contiendra chaque concurrent de la page et ses données spécifiques.

Comme vous pouvez le constater, il est assez facile de récupérer les données de Yelp à l'aide de WebScrapingAPI. Nous devons utiliser une API de scraping pour obtenir le contenu HTML, analyser la réponse, obtenir les informations pertinentes de chaque élément de la page et ajouter le tout à une liste.

Apprendre à connaître ses concurrents sans travail supplémentaire

Pour créer une nouvelle entreprise de nos jours, il ne suffit pas d'avoir un bon produit. Les possibilités sont infinies et dépendent de la créativité de chacun. Voici quelques-unes des stratégies les plus précieuses auxquelles les chefs d'entreprise devraient prêter attention :

  • créer une présence en ligne exceptionnelle
  • s'efforcer de fournir la valeur la plus élevée pour le prix le plus bas
  • comprendre parfaitement l'avantage de la concurrence

Toutes ces stratégies peuvent s'avérer vitales pour une entreprise. Il est bon de savoir que les web scrapers offrent une aide précieuse pour résoudre ces problèmes. L'automatisation du processus de collecte de données peut être l'étape la plus facile pour améliorer leur activité.

Nous essayons de vous donner un coup de main en créant les outils nécessaires pour ce type de travail. Merci d'avoir lu jusqu'au bout et n'oubliez pas que WebScraping API dispose d'une version d'essai gratuite après laquelle les utilisateurs sont rétrogradés vers le plan gratuit, ce qui vous permet de tester l'API à votre guise sans dépenser un centime.

Nouvelles et mises à jour

Restez au courant des derniers guides et nouvelles sur le web scraping en vous inscrivant à notre lettre d'information.

We care about the protection of your data. Read our <l>Privacy Policy</l>.Privacy Policy.

Articles connexes

vignette
GuidesSERP Scraping API - Guide de démarrage

Collectez sans effort des données en temps réel à partir des moteurs de recherche à l'aide de l'API SERP Scraping. Améliorez vos analyses de marché, votre référencement et vos recherches thématiques en toute simplicité. Commencez dès aujourd'hui !

WebscrapingAPI
avatar de l'auteur
WebscrapingAPI
7 minutes de lecture
vignette
Cas d'utilisationL'utilisation du Web Scraping pour les données alternatives en finance : Un guide complet pour les investisseurs

Explorez le pouvoir de transformation du web scraping dans le secteur financier. Des données sur les produits à l'analyse des sentiments, ce guide donne un aperçu des différents types de données web disponibles pour les décisions d'investissement.

Mihnea-Octavian Manolache
avatar de l'auteur
Mihnea-Octavian Manolache
13 minutes de lecture
vignette
Cas d'utilisationXPath et les sélecteurs CSS

Les sélecteurs XPath sont-ils meilleurs que les sélecteurs CSS pour le web scraping ? Découvrez les points forts et les limites de chaque méthode et faites le bon choix pour votre projet !

Mihai Maxim
avatar de l'auteur
Mihai Maxim
8 minutes de lecture