Dans ce tutoriel, nous nous concentrerons principalement sur Dramaturge Web scraping. Qu'est-ce que Playwright ? C'est un framework pratique créé par Microsoft. Il est connu pour simplifier les interactions Web et fonctionne de manière fiable avec tous les navigateurs les plus récents comme WebKit, Chromium et Firefox. Vous pouvez également exécuter des tests en mode headless ou headed et émuler des environnements mobiles natifs comme Google Chrome pour Android et Mobile Safari.
Playwright a commencé son parcours en janvier 2020 et n'a cessé de croître depuis. En mars 2024, il a atteint environ 4 millions de téléchargements chaque semaine. De grands noms comme Adobe Spectrum et Visual Studio Code l'utilisent déjà pour leurs projets. Cette année, Playwright devient plus populaire que jamais.

Tout au long de ce tutoriel, nous vous montrerons étape par étape comment utiliser Playwright pour le scraping Web. Node.js. Nous présenterons également Crawlbase pour une approche différente de l'extraction de données à partir du Web. Que vous soyez un développeur expérimenté ou un novice en matière de scraping Web, ce tutoriel promet de vous doter des compétences nécessaires pour réussir. Commençons.
Table des matières
3. Comment faire du Web Scrape avec Playwright
4. Réduction du prix d'origine grâce à Playwright
5. Réduction du prix avec Playwright
6. Récupération de la miniature du produit à l'aide de Playwright
7. Récupération des notes de produits avec Playwright
8. Extraire le nombre d'avis produits à l'aide de Playwright
9. Récupérer les avis sur les produits avec Playwright
10. Compilation et exécution de code pour Playwright Scraping
11. Grattoir utilisant Crawlbase Crawling API et Cheerio
13. Questions fréquemment posées
1. Portée du blog
Notre objectif pour ce tutoriel est de ramper et gratter Backmarket.com, En particulier ceci. URL et extrayez les informations essentielles telles que le titre du produit, les prix d'origine et réduits, l'URL de l'image miniature, les notes, le nombre d'avis et les avis individuels.

Nous proposerons deux approches différentes pour ce tutoriel :
Méthode du dramaturge : Tout d'abord, nous utiliserons le framework Playwright pour extraire les données pertinentes de notre URL cible. Nous fournirons des instructions étape par étape, de la configuration de votre environnement de codage pour Playwright à l'analyse du contenu HTML de la page, en passant par l'impression des résultats dans un format JSON facilement compréhensible qui peut être utilisé pour une analyse plus approfondie.
Crawlbase Crawling API Préparation: Ensuite, nous utiliserons le Crawling API de Crawlbase Pour explorer et extraire les données de la même page produit, nous enverrons une requête GET à l'URL cible pour extraire le contenu HTML sans être bloqués, puis nous l'analyserons avec Cheerio. Le contenu analysé sera également imprimé au format JSON lisible.
Vous obtiendrez une compréhension plus approfondie des différentes techniques de scraping Web en explorant ces approches et comprendrez comment adapter votre stratégie de scraping en fonction des exigences de votre projet.
2. Pré-requis
Maintenant que nous avons défini nos objectifs, nous pouvons commencer à configurer notre environnement de codage. Nous devons nous assurer que nous disposons de toutes les bases nécessaires. Voici ce dont vous aurez besoin pour commencer :

Node.js installé sur votre système : Node.js sert d'environnement d'exécution, permettant l'exécution de JavaScript sur votre machine locale. Ceci est important pour exécuter le script de scraping Web que nous sommes sur le point de développer.
Pour installer l'environnement, téléchargez simplement Node.js depuis le site officiel : Site officiel de Node.js.
Compréhension fondamentale de JavaScript : Étant donné que nous utiliserons beaucoup JavaScript dans notre projet de scraping Web, il est important de connaître les bases du langage. Vous devez être familiarisé avec des concepts tels que les variables, les fonctions, les boucles et la manipulation DOM de base.
Pour ceux qui débutent avec JavaScript, pensez à consulter des tutoriels ou de la documentation disponibles sur des plateformes telles que Réseau de développeurs Mozilla (MDN) ou W3Schools.
Crawlbase Jeton API : Dans la deuxième partie de ce tutoriel, nous utiliserons le Crawlbase API pour un scraping web plus efficace. Le jeton API servira de clé pour authentifier les requêtes et exploiter tout le potentiel de l'API. Crawling API. Nous utiliserons le Crawlbase Jeton JavaScript pour imiter les requêtes réelles du navigateur.
Pour obtenir votre jeton, rendez-vous sur le Crawlbase site Web Créer un compte, et accédez à vos jetons API depuis le documentation de compte .
3. Comment faire du Web Scrape avec Playwright
Une fois Node.js installé, ouvrez votre invite de commande (Windows) ou votre terminal (macOS/Linux).
Créez un répertoire pour stocker votre code de scraping Playwright en exécutant les commandes suivantes :
1 | mkdir dramaturge-grattoir |
Installez maintenant Playwright en utilisant la commande ci-dessous :
1 | npm installer le dramaturge |
Importer la bibliothèque et créer une fonction pour récupérer le titre :
Une fois les packages nécessaires installés, nous pouvons commencer à coder. Commencez par importer les modules requis comme Chromium de la bibliothèque Playwright pour automatiser le navigateur et le système de fichiers pour les opérations du système de fichiers. Ce sont les modules clés pour effectuer le scraping Web et gérer les opérations de fichiers dans l'environnement Node.js.
Pour votre commodité, vous pouvez copier et coller le code ci-dessous dans votre fichier index.js
1 | // Importer les modules requis |
Processus de grattage : La fonction scrapeResults est définie pour extraire les résultats d'une URL Web fournie. Dans cette fonction :
- Il lance une nouvelle instance du navigateur Chromium en utilisant
chromium.launch({ headless: false })
, le navigateur doit fonctionner en mode non-headless (interface utilisateur visible). - Il crée un nouveau contexte de navigation et une nouvelle page en utilisant
browser.newContext()
et mescontext.newPage()
, respectivement. Cela prépare l'environnement pour la navigation et l'interaction avec les pages Web. - Il navigue vers l'URL Web fournie à l'aide de
page.goto(webUrl)
. Cela indique au navigateur de charger l'URL spécifiée. - Il extrait le titre du produit de la page en utilisant
page.$eval("h1", ...)
, qui trouve le premier<h1>
élément sur la page et récupère son contenu textuel. La fonction ?.textContent.trim() garantit que les espaces de début et de fin sont supprimés du texte extrait.

4. Réduction du prix d'origine grâce à Playwright
Pour extraire le prix d'origine de la page Web cible, visitez d'abord le URL fournie dans votre navigateur Web. Ensuite, faites un clic droit sur l’élément de prix d’origine et sélectionnez « Inspecter » pour accéder aux outils de développement, qui mettront en évidence le code HTML correspondant.

Identifiez l'élément HTML représentant le prix d'origine, en vérifiant son unicité en examinant ses attributs, classes ou identifiants. Une fois identifié, copiez le sélecteur CSS de l'élément et vérifiez son exactitude dans un éditeur de texte ou de code, en effectuant les ajustements nécessaires pour cibler avec précision l'élément de prix d'origine.
1 | // Fonction pour obtenir le contenu textuel d'un élément par sélecteur |
Définition de la fonction (getValueBySelector) :
- Ce code définit une fonction asynchrone nommée getValueBySelector, qui prend un sélecteur CSS comme paramètre.
- À l'intérieur de la fonction, il utilise
page.evaluate()
de Playwright pour exécuter du code JavaScript dans le contexte de la page actuelle. - Le code JavaScript à l'intérieur
page.evaluate()
sélectionne un élément HTML en fonction du sélecteur CSS fourni à l'aide de document.querySelector(selector). - Il accède ensuite à la propriété textContent de l'élément sélectionné pour récupérer son contenu textuel et applique la méthode trim() pour supprimer tous les espaces blancs de début ou de fin.
- La fonction renvoie le contenu du texte coupé de l'élément sélectionné.
Extraction du prix d'origine :
- Après avoir défini la fonction getValueBySelector, elle est invoquée avec un sélecteur CSS spécifique
('[data-popper-trigger="true"].body-1-light-striked')
pour cibler un élément particulier de la page. - Le résultat, représentant le prix d'origine d'un produit, est affecté à la variable
originalPrice
.
5. Réduction du prix avec Playwright
Une fois de plus, faites un clic droit sur l’élément de prix d’origine et sélectionnez « Inspecter » pour accéder aux outils de développement, qui mettront en évidence le code HTML associé.

Une fois que vous avez le bon sélecteur CSS, vous pouvez écrire le code comme indiqué ci-dessous :
1 | // Extraire le prix réduit du produit |
Ce code extrait le prix réduit d'un produit de notre page Web cible. Il utilise probablement getValueBySelector()
pour sélectionner l'élément affichant le prix réduit en fonction de son attribut. Une fois trouvée, la valeur du prix réduit est stockée dans la variable discountedPrice
pour un traitement ultérieur.
6. Récupération de la miniature du produit à l'aide de Playwright
Similairement aux étapes précédentes, faites un clic droit sur l'image miniature du produit et sélectionnez « Inspecter » pour ouvrir les outils de développement. Cette action mettra en évidence le code HTML correspondant à l'image miniature.

Pour écrire le code permettant d'extraire l'URL de l'image miniature à l'aide de Playwright, vous pouvez utiliser l'approche suivante :
1 | // Extraire l'URL de l'image miniature |
Ce code extrait l'URL d'une image miniature d'une page Web. Nous utilisons page.evaluate()
fonction permettant d'exécuter du code JavaScript dans le contexte de la page Web. Il sélectionne l'élément image dans un div avec des attributs spécifiques et récupère son src
attribut, qui contient l'URL de l'image. L'URL extraite est ensuite stockée dans la variable thumbnail
pour une utilisation ultérieure.
7. Récupération des notes de produits avec Playwright
Vous connaissez maintenant la procédure. Cliquez avec le bouton droit de la souris sur les notes des produits et sélectionnez « Inspecter » pour ouvrir les outils de développement. Cette action vous permettra d'afficher le code HTML de l'élément particulier que nous avons sélectionné.

Voici l'extrait de code permettant d'extraire les notes du produit :
1 | // Extraire les notes du produit |
8. Extraire le nombre d'avis produits à l'aide de Playwright

Encore une fois, vous voudrez utiliser le getValueBySelector
pour extraire le nombre d'avis sur le produit. Passez le sélecteur CSS pour sélectionner l'élément affichant le nombre d'avis en fonction de son attribut. Une fois trouvé, stockez la valeur du nombre dans la variable reviewsCount
pour une utilisation ultérieure.
1 | // Extraire le nombre d'avis sur le produit |
9. Récupérer les avis sur les produits avec Playwright
Enfin, nous allons récupérer les avis sur le produit. Obtenez le code HTML associé comme indiqué ci-dessous :

Sélectionner tous les éléments de révision : Utilisez document.querySelectorAll()
pour sélectionner tous les éléments de la liste contenant des avis. Stockez-les dans une variable nommée reviewElements
.
Carte sur chaque élément d'évaluation : Utilisez map()
pour parcourir chaque élément de révision dans reviewElements
. À l'intérieur de map()
fonction, extraire des informations pertinentes telles que le nom de l'auteur, l'URL de l'avis, les notes et le texte de l'avis.
Extrait Nom de l'auteur : Utilisez querySelector()
pour trouver l'élément avec la classe .body-1-bold
à l'intérieur de l'élément de révision actuel. Extrayez le contenu du texte et supprimez les espaces de début et de fin.
URL d'extrait de révision : Utilisez querySelector()
pour trouver l'ancre (<a>
) élément avec l'attribut rel
définir sur « noreferrer noopener ». Récupérez la valeur de l'attribut href et ajoutez-la à l'URL de base https://www.backmarket.com/
Cela vous donnera l'URL complète de l'avis.
Extraits Notes : Utilisez querySelector()
pour trouver l'élément avec l'attribut data-qa
définir sur « commentaire utilisateur ». Extrayez le contenu du texte et supprimez les espaces de début et de fin.
Extrait du texte de révision : Utilisez querySelector()
pour trouver l'élément avec les classes .body-1-light
, .text-grey-500
et .whitespace-pre-line
Extrayez le contenu du texte et supprimez les espaces de début et de fin.
Renvoyer les informations extraites : Renvoie un objet contenant les informations extraites pour chaque élément d'avis.
Filtrer les avis : Utilisez filter()
pour supprimer tous les avis dans lesquels le nom de l'auteur ou le texte de l'avis est manquant.
Voici comment vous pouvez écrire le code :
1 | const avis = attendre .évaluer(() => { |
10. Compilation et exécution de code pour Playwright Scraping
Maintenant que nous avons les extraits de code pour chaque élément que nous voulons extraire de backmarket.com, compilons-les et enregistrons-les sous index.js
.
1 | // Importer les modules requis |
Ouvrez votre terminal ou votre invite de commande et accédez au répertoire dans lequel index.js est enregistré. Exécutez le script en exécutant la commande suivante :
1 | noeud index.js |
Après avoir exécuté le script, vérifiez la sortie. En cas de succès, vous devriez voir les données extraites imprimées sur la console ou enregistrées dans un fichier, selon la façon dont vous avez implémenté le code.
1 | { |
11. Grattoir utilisant Crawlbase Crawling API et Cheerio
Grattage à l'aide de Crawlbase Crawling API Cheerio est pertinent pour ce tutoriel car il propose une approche alternative au web scraping. Cette méthode se distingue comme l'une des meilleures alternatives car elle utilise Crawlbase Crawling API, ce qui peut aider à éviter les blocages potentiels et les CAPTCHA imposés par le site Web cible.
De plus, l’intégration de la Crawlbase Crawling API Avec des analyseurs comme Cheerio, nous disposons d'une solution plus stable pour extraire des données de pages Web sans rencontrer les problèmes généralement rencontrés dans les méthodes de scraping traditionnelles, comme le blocage ou la limitation de débit. Cette méthode garantit que nous pouvons obtenir les informations que nous souhaitons d'un site Web de manière fiable et efficace.
Pour commencer, installez simplement les packages ci-dessous :
1 | mkdir grattoir |
Ces commandes créeront un répertoire appelé scraper
, créé un index.js
fichier et installez le Crawlbase et les bibliothèques Cheerio.
Nous allons maintenant appliquer une approche similaire à celle que nous avons utilisée avec Playwright. Cependant, cette fois, nous utiliserons une requête HTTP/HTTPs vers le Crawling API pour obtenir le code HTML de la page. Nous utiliserons ensuite Cheerio pour extraire les mêmes ensembles de données de ce code HTML.
1 | // importer Crawlbase Crawling API paquet |
Après avoir enregistré le code ci-dessus, accédez au répertoire où index.js
est enregistré dans votre terminal ou dans votre invite de commande. Exécutez le script en exécutant node index.js
.
Vérifiez ensuite le résultat. En cas de succès, vous verrez les données extraites imprimées comme indiqué ci-dessous :
1 | { |
12. Conclusion
En conclusion, ce tutoriel a démontré deux méthodes efficaces pour extraire des données de backmarket.com à l'aide de Node.js. Nous avons exploré l'utilisation de Playwright, montrant comment extraire des informations spécifiques d'un site Web. Nous avons également présenté une approche alternative utilisant le Crawling API avec Cheerio, offrant une solution à contourner les captchas et les blocs potentiels tout en analysant efficacement le contenu HTML.
Choisir entre le dramaturge et le Crawling API avec Cheerio dépendra grandement de ce dont vous avez besoin pour votre projet. Playwright fournit une solution robuste pour le scraping Web dynamique et l'interaction avec les applications Web modernes, tandis que Crawling API avec Cheerio propose une méthode fiable pour accéder et analyser le contenu HTML.
Alors, allez-y et choisissez ce qui convient le mieux à votre projet. N'oubliez pas que le code que nous avons partagé ici est entièrement gratuit. N'hésitez pas à l'appliquer également pour extraire des données d'autres sites Web !
Si vous êtes intéressé par d'autres projets de scraping, nous vous recommandons de consulter les tutoriels ci-dessous :
Comment récupérer les commentaires TikTok
Comment récupérer les données d'une entreprise sur Crunchbase
Comment récupérer des sites Web avec ChatGPT
13. Questions fréquemment posées
Q. Playwright peut-il être utilisé pour le scraping ?
R. Oui. Pour récupérer des données de sites Web à l'aide de Playwright, vous pouvez suivre ces étapes générales :
Étape 1 : Installer Playwright : Commencez par installer Playwright via npm en utilisant la commande npm install playwright.
Étape 2 : Écrivez votre script : Créez un fichier JavaScript (par exemple, scrape.js) et écrivez le code pour automatiser vos tâches de scraping à l'aide de Playwright. Cela peut inclure la navigation vers le site Web, l'interaction avec les éléments et l'extraction de données.
Étape 3 : exécutez votre script : Exécutez votre script en exécutant node scrape.js dans votre terminal ou invite de commande.
Étape 4 : Vérifier la sortie : Après avoir exécuté le script, vérifiez la sortie pour vous assurer que les données souhaitées ont été extraites avec succès.
Étape 5 : Affinez votre script : Affinez votre script selon vos besoins pour gérer les cas extrêmes ou les erreurs pouvant survenir pendant le processus de scraping.
Q. Playwright est-il plus simple que Selenium ?
En termes de facilité d'utilisation, Playwright est souvent considéré comme ayant une approche plus conviviale que Selenium. Playwright offre une interface plus simple et plus moderne pour automatiser les interactions avec le navigateur. Il dispose de fonctionnalités telles que l'installation automatique des pilotes de navigateur et la prise en charge intégrée de plusieurs langages de programmation.
D'un autre côté, Selenium existe depuis plus longtemps et dispose d'une communauté et d'un écosystème plus vastes. Il est largement utilisé et dispose d'une documentation et de ressources complètes.
En bref, le choix entre Playwright et Selenium dépend de facteurs tels que les exigences spécifiques de votre projet, les préférences de l’équipe et l’infrastructure existante.
Q : Pouvez-vous être bloqué lorsque vous récupérez un site Web à l'aide de Playwright ?
Oui, il est possible d'être bloqué lors du scraping d'un site Web à l'aide de Playwright. Les sites Web peuvent mettre en œuvre des mesures pour détecter et bloquer les activités de scraping automatisées, telles que la détection de modèles de trafic inhabituels ou de demandes à haute fréquence provenant de la même adresse IP.
Pour éviter les blocages et les CAPTCHA, nous vous recommandons d'utiliser Crawlbase. En intégrant votre code avec Crawlbase Grâce à l'API, vous pouvez bénéficier de ses fonctionnalités, notamment l'utilisation de millions d'adresses IP tournantes et d'un algorithme basé sur l'IA pour imiter l'interaction humaine. Cela permet de réduire le risque de détection et de garantir des opérations de scraping plus fluides.