Retour au blog
Cas d'utilisation
Robert MunceanuLast updated on Apr 28, 20266 min read

Comment récupérer des prospects pour votre entreprise

Comment récupérer des prospects pour votre entreprise

Si vous avez un produit exceptionnel ou une idée révolutionnaire à partager avec le monde entier, ne serait-il pas dommage que personne ne soit au courant de son existence ?

Bonjour et bienvenue dans notre édition spéciale d'aujourd'hui ! La génération de prospects sera le plat principal de cet article, et nous allons découvrir pourquoi l'utilisation d'un outil de web scraping peut nous aider à collecter efficacement des prospects.

Si vous restez jusqu'à la fin, vous verrez un exemple rapide d'un outil de web scraping en action et comment il aide les entreprises à trouver des clients potentiels. Sans plus attendre, aiguisons nos couteaux et commençons par l'entrée !

Comment le web scraping peut vous aider à collecter des prospects

Constituer un solide vivier de prospects peut prendre du temps, car vous avez besoin d’un nombre important de contacts pour développer votre activité, et effectuer des recherches manuelles sur chaque site web est chronophage. Vous ne souhaitez pas non plus obtenir tous les numéros de téléphone, mais uniquement ceux qui présentent un intérêt pour votre entreprise ; la sélection qualitative vous prendra donc encore plus de temps.

Que pouvons-nous faire à ce sujet ?

Certaines personnes ont monté leur entreprise autour de ce sujet, c'est-à-dire la collecte et la vente de prospects à d'autres entreprises. Cela semble être une solution rapide et facile, mais la qualité de leur base de prospects risque de ne pas être à la hauteur de vos exigences. De plus, il ne fait aucun doute que cette option impliquera des dépenses.

Alors, comment pouvez-vous vous en charger vous-même de manière rapide et efficace ? C'est là qu'un outil de web scraping vient à la rescousse. De cette façon, vous pouvez sélectionner uniquement les prospects qui vous intéressent, par exemple en les classant en fonction de leurs avis.

Guide étape par étape pour générer des prospects avec l'API de web scraping

Imaginons que nous soyons une nouvelle microbrasserie en ville et que nous souhaitions faire connaître nos produits. Pour atteindre cet objectif, nous devons contacter les restaurants ou les pubs locaux et leur demander s’ils sont intéressés par la vente de nos produits dans leur établissement.

C'est à vous de choisir comment vous allez vous y prendre. Nous vous aiderons pour le scraping, pas pour les discussions !

Tout d'abord, nous devons savoir où trouver les informations nécessaires, et Internet est le meilleur moyen d'y parvenir. Il existe des sites web répertoriant des entreprises classées par secteur d'activité, emplacement, activité et même taille. Dans cet exemple, nous utiliserons Yell.

Ensuite, nous allons créer notre compte WebScrapingAPI et poursuivre l'exemple.

Créez votre compte WebScrapingAPI

Cette étape est simple, car la création d'un compte est très facile, et ne vous inquiétez pas, c'est gratuit ! Après avoir confirmé votre inscription par e-mail, nous pouvons passer à l'étape suivante.

Utilisez votre clé d'accès

Une fois connecté, vous serez redirigé vers le tableau de bord, où vous trouverez des informations qui vous aideront à extraire des données du Web. Dans la section « Playground », vous pouvez tester les résultats avec différents paramètres, et si vous souhaitez en savoir plus sur l'utilisation de l'API, vous pouvez consulter la documentation.

Pour l'instant, nous nous intéressons à la clé d'accès. Cette clé sera utilisée comme paramètre dans notre projet afin de s'authentifier auprès de l'API.

Veillez à ne la partager avec personne, car c'est votre petit secret, mais si vous pensez que la clé d'accès a été compromise, vous pouvez réinitialiser la clé API à tout moment en appuyant sur le bouton indiqué ci-dessus.

Intégrez WebScrapingAPI à votre projet

Dans cette étape, nous allons préparer notre projet pour le scraping. Vous pouvez utiliser l'IDE et le langage de programmation qui vous conviennent le mieux, mais pour cet exemple, nous allons utiliser WebStorm comme IDE, et le code sera écrit en NodeJS.

1. Installez les paquets suivants :

  • got : utilisé pour effectuer des requêtes HTTP
  • jsdom : utile pour l'analyse syntaxique du HTML
  • csv-writer : pour stocker les données extraites dans un fichier CSV

Pour installer les paquets ci-dessus, il suffit d'utiliser la ligne de commande suivante dans le terminal de votre projet : npm install got jsdom csv-writer

2. Définissez les paramètres de vos requêtes

Nous allons ici spécifier l'URL du site web que nous souhaitons scraper, dans notre cas, il s'agira de Yell, ainsi que, bien sûr, la clé d'accès pour que WebScrapingAPI fonctionne.

const url = "https://www.yell.com/ucs/UcsSearchAction.do?keywords=restaurants%26location=United+Kingdom%26scrambleSeed=1024089043"
const params = {
   api_key: "XXXXX",
   url: url
}

3. Envoyez la requête

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

La requête sera envoyée à WebScrapingAPI avec les paramètres que nous avons définis précédemment, et nous recevrons une réponse contenant le code HTML brut de la page extraite. Ensuite, nous devrons voir comment localiser les informations dont nous avons besoin dans le code HTML.

4. Inspecter les éléments

Ici, nous devons parcourir le site web que nous souhaitons scraper et utiliser les outils de développement afin de rechercher les éléments qui contiennent les informations de chaque entreprise ; dans notre cas, chaque élément possède la classe « businessCapsule--mainRow ».

Dans les images présentées ci-dessus, nous avons examiné de plus près l'élément « business item » pour constater que le nom de chaque entreprise se trouve dans la balise ayant la classe « businessCapsule--name ».

En répétant ce processus, nous trouverons le numéro de téléphone dans l’élément de classe « business--telephoneNumber » et les notes moyenne et totale se trouvent respectivement dans les éléments de classes « startRating--average » et « starRating--total ».

5. Analyse du code HTML

JSDOM nous aidera à analyser les informations fournies par WebScrapingAPI, car celle-ci renvoie la page complète au format HTML.

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

6. Filtrage des résultats

Au cours de cette phase, nous allons parcourir tous les éléments ayant la classe « businessCapsule--mainRow » et extraire les informations des éléments dont nous avons parlé précédemment. Les données extraites seront ensuite ajoutées sous forme d’objet dans une liste.

const relatedElements = document.querySelectorAll('.businessCapsule--mainRow')
relatedElements.forEach(el => {
   const businessName = el.querySelector('.businessCapsule--name')
   const businessRatingAverage = el.querySelector('.starRating--average')
   const businessRatingTotal = el.querySelector('.starRating--total span')
   const businessContact = el.querySelector('.business--telephoneNumber')
   leads.push({
       businessName: businessName ? businessName.innerHTML : 'No business name',
       businessRatingAverage: businessRatingAverage ? businessRatingAverage.innerHTML : 'No ratings',
       businessRatingTotal: businessRatingTotal ? businessRatingTotal.innerHTML : 'No ratings',
       businessContact: businessContact ? businessContact.innerHTML : 'No phone number'
   })
})

7. Stockage des données

Enregistrer les données dans un fichier CSV semble être une bonne solution, et c'est là que csv-writer va nous aider. Nous devons spécifier le chemin d'accès et le nom du fichier CSV dans les paramètres path et header, et nous devrons spécifier une liste d'objets. Chaque objet représentera une colonne de notre fichier CSV. La propriété title de ces objets représente le titre de chaque colonne, tandis que la propriété id doit correspondre aux propriétés des objets de notre liste de prospects.

Maintenant, si nous encapsulons l'ensemble du code dans une fonction async et ajoutons une boucle pour extraire les 5 premières pages d'entreprises, le code devrait ressembler à ceci :

const {JSDOM} = require("jsdom");
const got = require("got");

(async () => {

   const leads = []
   const nrPages = 5

   for (let page = 1; page <= nrPages; page++) {
       const url = "https://www.yell.com/ucs/UcsSearchAction.do?keywords=restaurants%26location=United+Kingdom%26scrambleSeed=1024089043%26pageNum=" + page
       const params = {
           api_key: "XXX",
           url: url
       }
       const response = await got('https://api.webscrapingapi.com/v1', {searchParams: params})
       const {document} = new JSDOM(response.body).window
       const relatedElements = document.querySelectorAll('.businessCapsule--mainRow')

       if (relatedElements) {
           relatedElements.forEach(el => {
               const businessName = el.querySelector('.businessCapsule--name')
               const businessRatingAverage = el.querySelector('.starRating--average')
               const businessRatingTotal = el.querySelector('.starRating--total span')
               const businessContact = el.querySelector('.business--telephoneNumber')
               leads.push({
                   businessName: businessName ? businessName.innerHTML : 'No business name',
                   businessRatingAverage: businessRatingAverage ? businessRatingAverage.innerHTML : 'No ratings',
                   businessRatingTotal: businessRatingTotal ? businessRatingTotal.innerHTML : 'No ratings',
                   businessContact: businessContact ? businessContact.innerHTML : 'No phone number'
               })
           })
       }
   }

   const csvWriter = require('csv-writer').createObjectCsvWriter({
       path: 'leads.csv',
       header: [
           {id: 'businessName', title: 'Business Name'},
           {id: 'businessRatingAverage', title: 'Business Average Rating'},
           {id: 'businessRatingTotal', title: 'Business No. of Ratings'},
           {id: 'businessContact', title: 'Business Phone Number'},
       ]
   })

   csvWriter.writeRecords(leads).then(() => console.log('Success!!'))

})();

Bravo !

Bravo ! Vous avez terminé la collecte d'informations sur les prospects potentiels.

Faites de WebScrapingAPI le meilleur allié de votre entreprise

C'est un moyen rapide de créer votre propre base de prospects et de partenaires commerciaux potentiels. Outre la génération de prospects, WebScrapingAPI peut également vous aider dans d'autres situations. Vous pouvez en savoir plus à ce sujet sur notre blog.

En fonction de votre projet, WebScrapingAPI propose plusieurs forfaits adaptés à vos besoins. Si vous n'êtes pas encore convaincu de la manière dont notre produit peut dynamiser votre entreprise, pourquoi ne pas essayer d'abord la formule gratuite ? Elle vous offre 1 000 appels API gratuits pour vous permettre de démarrer.

À propos de l'auteur
Robert Munceanu, Développeur full-stack @ WebScrapingAPI
Robert MunceanuDéveloppeur full-stack

Robert Munceanu est développeur Full Stack chez WebScrapingAPI ; il participe à l'ensemble du produit et contribue à la création d'outils et de fonctionnalités fiables qui soutiennent la plateforme.

Commencez à créer

Prêt à faire évoluer votre système de collecte de données ?

Rejoignez plus de 2 000 entreprises qui utilisent WebScrapingAPI pour extraire des données Web à l'échelle de l'entreprise, sans aucun coût d'infrastructure.