Retour au blog
Guides
Robert MunceanuLast updated on Apr 28, 20268 min read

Comment utiliser WebScrapingAPI pour récupérer n'importe quel site Web

Comment utiliser WebScrapingAPI pour récupérer n'importe quel site Web

Si vous vous intéressez aux outils de scraping et que vous recherchez une solution capable d'extraire diverses données sur Internet, vous êtes au bon endroit !

Dans cet article, nous allons vous montrer à quel point il est facile d'utiliser WebScrapingAPI pour obtenir les informations dont vous avez besoin en quelques instants et manipuler les données comme bon vous semble.

Il est possible de créer votre propre scraper pour extraire des données sur le Web, mais son développement demanderait beaucoup de temps et d'efforts, car vous devrez surmonter certains défis en cours de route. Et le temps est un facteur essentiel.

Sans plus attendre, voyons comment vous pouvez extraire des données de n'importe quel site web à l'aide de WebScrapingAPI. Cependant, nous allons d'abord voir pourquoi les scrapers web sont si précieux et comment ils peuvent vous aider, vous ou votre entreprise, à atteindre vos objectifs de croissance.

Comment le web scraping peut vous aider

Le web scraping peut être utile à diverses fins. Les entreprises utilisent des outils d'extraction de données pour développer leurs activités. Les chercheurs peuvent utiliser ces données pour établir des statistiques ou pour leur thèse. Voyons comment :

  • Optimisation des prix : avoir une meilleure vue d'ensemble de vos concurrents peut aider votre entreprise à se développer. Vous savez ainsi comment les prix fluctuent dans le secteur et comment cela peut influencer votre activité. Même si vous recherchez un article à acheter, cela peut vous aider à comparer les prix de différents fournisseurs et à trouver la meilleure offre.
  • Recherche : il s'agit d'un moyen efficace de collecter des informations pour votre projet de recherche. Les statistiques et les rapports de données sont essentiels pour garantir l'authenticité de vos rapports. L'utilisation d'un outil de web scraping accélère le processus.
  • Apprentissage automatique : pour entraîner votre IA, vous avez besoin d'une grande quantité de données, et les extraire manuellement peut prendre beaucoup de temps. Par exemple, si vous voulez que votre IA détecte des chiens sur des photos, vous aurez besoin de nombreuses images de chiots.

La liste est longue, mais ce qu’il faut retenir, c’est que le web scraping est un outil très important car il a de nombreuses utilisations, tout comme un couteau suisse ! Si vous vous demandez quand le web scraping peut être la solution à vos problèmes, pourquoi ne pas y jeter un œil ?

Dans la suite, vous découvrirez certaines fonctionnalités et comment WebScrapingAPI peut vous aider à scraper le Web et à extraire des données comme si de rien n'était !

Ce que WebScrapingAPI a à offrir

Vous avez sans doute pensé à créer votre propre outil de web scraping plutôt que d’utiliser un outil tout prêt, mais il y a de nombreux éléments à prendre en compte, et cela peut demander beaucoup de temps et d’efforts.

Tous les sites web ne souhaitent pas être scrappés ; ils développent donc des contre-mesures pour détecter et bloquer les bots qui tentent de les exploiter. Ils peuvent utiliser différentes méthodes, telles que les CAPTCHA, la limitation de débit et l'empreinte digitale du navigateur. S'ils trouvent votre adresse IP un peu suspecte, eh bien, il y a de fortes chances que vous ne puissiez pas scrapper très longtemps.

Certains sites web ne souhaitent être scrappés que dans certaines régions du monde ; vous devez donc utiliser un proxy pour accéder à leur contenu. Mais la gestion d'un pool de proxys n'est pas non plus une tâche facile, car vous devez constamment les faire tourner pour ne pas être détecté et utiliser des adresses IP spécifiques pour le contenu soumis à des restrictions géographiques.

Malgré tous ces problèmes, WebScrapingAPI vous décharge de ce fardeau et résout ces difficultés avec aisance, faisant du scraping un jeu d'enfant. Vous pouvez jeter un œil et constater par vous-même quels obstacles peuvent se présenter lors du scraping web !

Maintenant que nous savons comment WebScrapingAPI peut nous aider, découvrons comment l'utiliser, et soyez assurés que c'est également très simple !

Comment utiliser WebScrapingAPI

Clé d'accès API et authentification

Tout d'abord, nous avons besoin d'une clé d'accès pour utiliser WebScrapingAPI. Pour l'obtenir, vous devez créer un compte. La procédure est très simple, et vous n'avez rien à payer, car il existe également une formule d'abonnement gratuite !

Une fois connecté, vous serez redirigé vers le tableau de bord, où vous pourrez voir votre clé d'accès unique. Veillez à la garder secrète, et si vous pensez que votre clé unique a été compromise, vous pouvez toujours utiliser le bouton « Réinitialiser la clé API » pour en obtenir une nouvelle.

Une fois que vous avez obtenu votre clé, nous pouvons passer à l'étape suivante et voir comment l'utiliser.

Documentation

Il est essentiel de connaître les fonctionnalités de WebScrapingAPI pour vous aider dans votre projet de web scraping. Toutes ces informations sont disponibles dans la documentation, présentée de manière détaillée et accompagnée d'exemples de code dans différents langages de programmation.  Tout cela pour mieux comprendre comment les choses fonctionnent et comment elles peuvent être intégrées à votre projet. La requête la plus basique que vous pouvez envoyer à l'API consiste à définir les paramètres api_key et url respectivement sur votre clé d'accès et l'URL du site web que vous souhaitez scraper. Voici un exemple rapide en Python :

import http.client
conn = http.client.HTTPSConnection("api.webscrapingapi.com")
conn.request("GET", "/v1?api_key=XXXXX&url=http%3A%2F%2Fhttpbin.org%2Fip")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))

WebScrapingAPI dispose d'autres fonctionnalités pouvant être utilisées pour le scraping. Certaines d'entre elles peuvent être exploitées simplement en définissant quelques paramètres supplémentaires, tandis que d'autres sont déjà implémentées dans l'API, comme nous l'avons évoqué précédemment.

Voyons quelques autres paramètres que nous pouvons définir et pourquoi ils sont utiles pour notre extraction de données :

  • render_js : certains sites web peuvent afficher des éléments essentiels de la page à l'aide de JavaScript, ce qui signifie que certains contenus ne s'affichent pas lors du chargement initial de la page et ne seront donc pas extraits. À l'aide d'un navigateur sans interface graphique, WSA est capable d'afficher ce contenu et de l'extraire pour que vous puissiez l'utiliser. Il suffit de définir render_js=1, et le tour est joué !
  • proxy_type : Vous pouvez choisir le type de proxys à utiliser. Voici pourquoi les proxys sont si importants et comment le type de proxy peut avoir un impact sur votre extraction de données web.
  • country : La géolocalisation est utile lorsque vous souhaitez effectuer du scraping depuis différents emplacements, car le contenu d'un site web peut varier, voire être exclusif, selon la région. Vous définissez ici le code pays à deux lettres pris en charge par WSA.

Playground API

Si vous souhaitez voir la WebScrapingAPI en action avant de l'intégrer à votre projet, vous pouvez utiliser l'espace de test pour tester certains résultats. Son interface est conviviale et facile à utiliser. Il vous suffit de sélectionner les paramètres en fonction du type de scraping que vous souhaitez effectuer et d'envoyer la requête.

Dans la section des résultats, vous verrez le résultat une fois le scraping terminé, ainsi que l'exemple de code de ladite requête dans différents langages de programmation pour faciliter l'intégration.

Intégration de l'API

Comment utiliser WSA dans notre projet ? Jetons un œil à cet exemple rapide où nous effectuons un scraping sur Amazon pour trouver la carte graphique la plus chère sur une page. Cet exemple est écrit en JavaScript, mais vous pouvez le réaliser dans n'importe quel langage de programmation avec lequel vous êtes à l'aise.

Tout d'abord, nous devons installer certains paquets pour nous aider à gérer la requête HTTP (got) et à analyser le résultat (jsdom) à l'aide de cette ligne de commande dans le terminal du projet :

npm install got jsdom

L'étape suivante consiste à définir les paramètres nécessaires pour effectuer notre requête :

const params = {
   api_key: "XXXXXX",
   url: "https://www.amazon.com/s?k=graphic+card"
}

Voici comment nous préparons la requête à WebScrapingAPI pour qu’elle effectue le scraping du site web à notre place :

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

Nous devons maintenant localiser chaque élément « Carte graphique » dans le code HTML. À l’aide de l’outil de développement, nous avons découvert que la classe s-result-item contient toutes les informations sur le produit, mais nous n’avons besoin que de son prix.

À l'intérieur de l'élément, nous pouvons voir qu'il existe un conteneur de prix avec la classe a-price et la sous-classe a-offscreen, d'où nous extrairons le texte représentant son prix.

WebScrapingAPI renverra la page au format HTML, nous devons donc l'analyser. JSDOM fera l'affaire.

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

Après avoir envoyé la requête et analysé la réponse reçue de WSA, nous devons filtrer le résultat et n'extraire que ce qui nous intéresse. D'après l'étape précédente, nous savons que les détails de chaque produit se trouvent dans la classe s-result-item, nous allons donc les parcourir. À l'intérieur de chaque élément, nous vérifions si le conteneur de prix de classe a-price existe, et si c'est le cas, nous extrayons le prix de l'élément a-offscreen qu'il contient et l'ajoutons à un tableau.

Déterminer quel est le produit le plus cher devrait désormais être un jeu d'enfant. Il suffit de parcourir le tableau et de comparer les prix entre eux.

En encapsulant le tout dans une fonction asynchrone, le code final devrait ressembler à ceci :

const {JSDOM} = require("jsdom");
const got = require("got");
(async () => {
   const params = {
       api_key: "XXX",
       url: "https://www.amazon.com/s?k=graphic+card"
   }
   const response = await got('https://api.webscrapingapi.com/v1', {searchParams: params})
   const {document} = new JSDOM(response.body).window
   const products = document.querySelectorAll('.s-result-item')
   const prices = []
   products.forEach(el => {
       if (el) {
           const priceContainer = el.querySelector('.a-price')
           if (priceContainer)               prices.push(priceContainer.querySelector('.a-offscreen').innerHTML)
       }
   })
   let most_expensive = 0
   prices.forEach((price) => {
       if(most_expensive < parseFloat(price.substring(1))) 
most_expensive = parseFloat(price.substring(1))
   })
     console.log("The most expensive item is: ", most_expensive)
})();

Conclusion

Nous espérons que cet article vous a montré à quel point un outil de web scraping prêt à l'emploi peut être utile et à quel point il est facile de l'utiliser dans votre projet. Il contourne les obstacles mis en place par les sites web, vous aide à extraire des données sur Internet de manière furtive et peut également vous faire gagner beaucoup de temps.

Pourquoi ne pas essayer WebScrapingAPI ? Découvrez par vous-même à quel point il est utile si vous ne l'avez pas encore fait. La création d'un compte est gratuite et 1 000 appels API peuvent vous aider à vous lancer dans l'aventure du web scraping.

Commencez dès maintenant !

À 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.