Retour au blog
Guides
Gabriel CiociLast updated on Mar 31, 202610 min read

Cheerio.load ne fonctionne pas : voici comment extraire des données du Web avec Cheerio

Cheerio.load ne fonctionne pas : voici comment extraire des données du Web avec Cheerio

Le web scraping est une technique qui consiste à utiliser des scripts automatisés pour obtenir des données fiables. Les outils de web scraping permettent d'explorer des centaines, voire des milliers de sites en quelques minutes lorsqu'ils sont correctement mis en œuvre avec le langage de programmation et les outils appropriés.

C'est un moyen puissant d'acquérir d'énormes quantités d'informations, qui peuvent être rapidement traitées et nettoyées pour en extraire les données. Même si, dans certains cas de contrefaçon, les outils de web scraping peuvent être utilisés pour parcourir les plateformes en ligne à la recherche de tous les articles vendus en contrefaçon.

Vous pouvez facilement les signaler grâce aux liens vers les sites web. Mais auparavant, il était assez fastidieux de rechercher et de parcourir manuellement tous les sites web. Même si le travail de scraping de données peut sembler simple, ce n'est certainement pas le cas. Le scraping est un processus complexe qui nécessite des connaissances techniques.

Vous trouverez certainement des outils comme ParseHub et Diffbot qui nécessitent des connaissances techniques, mais dans l'article d'aujourd'hui, vous découvrirez « CHEERIO », pourquoi il ne se charge parfois pas, et bien d'autres choses encore.

Cheerio.Load ne fonctionne pas : pourquoi ?

Cheerio.Load ne fonctionne pas : pourquoi ?

Il arrive parfois que Cheerio.Load ne fonctionne pas correctement. Vous savez bien qu’il y a un problème, mais vous ne parvenez pas à identifier d’où il vient. Retenez une chose : l’élément « <tbody> » doit être un enfant de l’élément « <table> ». Si vous ne corrigez pas ces éléments, Cheerio.Load ne fonctionnera pas.

Dans la version actuelle de Cheerio qui analyse le balisage, l'analyseur lui-même ne se remet pas de cette erreur particulière. Vous devez écrire une chaîne HTML valide, ce qui signifie que vous devez encadrer la chaîne entre « </table> » et « <table> ». Si vous revenez à la version 0.22.0 de Cheerio, ses analyseurs s'en chargeront.

Cheerio : ce qu'il faut savoir

Cheerio : ce qu'il faut savoir

Alors, qu'est-ce que Cheerio exactement ? Eh bien, c'est une implémentation légère, flexible et rapide pour un serveur spécifique. Vous vous demandez peut-être pourquoi Cheerio est nécessaire alors que vous disposez de « Puppeteer », un outil de scraping basé sur Node.JS.

C'est parce que Puppeteer est beaucoup plus utilisé pour automatiser les tâches du navigateur et prend en charge la navigation visuelle en temps réel sur Internet sous forme d'exécution de scripts. Puppeteer fonctionnera parfaitement avec tous les sites web créés à partir de React et Angular. Vous pouvez également créer des PDF et prendre des captures d'écran avec Puppeteer.

Mais en matière de vitesse, rien ne vaut Cheerio. C'est un outil minimaliste pour effectuer le scraping, et vous pouvez également le combiner avec divers autres modules pour créer un script de bout en bout. Ce script particulier enregistrera le résultat au format CSV et renverra également toutes les autres données.

Cheerio est sans aucun doute une option parfaite pour le scraping. Il fonctionne également sans problème avec les documents HTML et Chrome. Vous ne rencontrerez aucun problème lors de son utilisation, mais vous devez comprendre son fonctionnement avant de vous en servir.

Comment extraire des données avec Cheerio ?

Comment extraire des données avec Cheerio ?

Pour extraire des données à l'aide de Cheerio, vous devez suivre ces étapes :

Étape 1 : Mkdir country-popular cd country-popular npm init

Étape 2 : npm install Cheerio Axios npm install -D typescript esbuild esbuild-runner

Étape 3 : "scripts" : [ "scrape": "esr./src/index.ts"]

Étape 4 : import cheerio from "cheerio"; const $ = Cheerio

Étape 5 : const firstHeader = $('h2.primary'); console

Étape 6 : npm run scrape

Comment récupérer des données depuis un autre site web ?

Comment récupérer des données depuis un autre site web ?

Souhaitez-vous extraire des données/informations d'un autre site ? Suivez ces 5 étapes pour y parvenir :

  • Vous devez inspecter le code HTML du site web que vous souhaitez explorer
  • Accédez à l'URL du site web à l'aide du code, puis téléchargez le document HTML et son contenu.
  • Convertissez le contenu en un format lisible
  • Ensuite, vous devez extraire toutes les informations utiles et les enregistrer sous un format structuré.

Comment analyser un fichier HTML avec Node.js ?

Comment analyser un fichier HTML avec Node.js ?

Vous pouvez utiliser les modules npm htmlparser et jsdom pour effectuer une analyse syntaxique et développer un DOM dans Node JS. Vous pouvez également opter pour :

  • CsQuery pour
  • Vous pouvez facilement convertir du XHTML à partir de HTML et utiliser XSLT
  • BeautifulSoup pour Python
  • HTMLAgilityPack pour

Scraping de pages Web dans Node avec Cheerio : comment procéder ?

Scraping de pages Web dans Node avec Cheerio : comment procéder ?

Dans cette section, vous apprendrez à extraire le contenu d'une page Web à l'aide de Cheerio. Mais avant d'opter pour cette méthode, vous devez vous assurer d'en avoir l'autorisation. Sinon, vous risquez d'enfreindre la vie privée, de violer les droits d'auteur ou les conditions d'utilisation.

Vous apprendrez comment extraire le code ISO 3166-1 alpha-3 pour tous les pays et diverses autres juridictions. Vous trouverez les données relatives aux pays dans la section des codes de la page ISO 3166-1 alpha-3. Alors, c'est parti !

Étape 1 : Créer un répertoire de travail

Ici, vous devez créer un répertoire pour le projet en exécutant la commande « mkdir learn-cheerio » dans le terminal. Cette commande créera un répertoire nommé « learn-cheerio », mais vous êtes libre de lui donner un autre nom si vous le souhaitez.

Au cours de cette étape, vous allez créer un répertoire pour votre projet en exécutant une commande dans le terminal. La commande créera un répertoire nommé « learn-cheerio ». Vous pouvez lui attribuer un autre nom si vous le souhaitez.

Vous verrez certainement apparaître un dossier nommé « learn-cheerio » après avoir correctement exécuté les éléments sélectionnés ou la commande « mkdir learn-cheerio ». Une fois le répertoire créé et les ressources externes chargées, vous devez ouvrir le répertoire et un éditeur de texte pour initialiser le projet.

Étape 2 : Initialisation du projet

Pour vous assurer que Cheerio s'intègre correctement à ce projet, vous devez accéder au répertoire du projet, puis l'initialiser. Il vous suffit d'ouvrir le répertoire dans l'éditeur de texte de votre choix, puis de l'initialiser en exécutant la commande « npm init -y ». Une fois ce processus terminé, vous pouvez créer un fichier « package.json » au cœur du répertoire du projet.

Étape 3 - Installation des dépendances

Dans cette section, vous allez installer les dépendances du projet en exécutant la commande « npm install Axios cheerio pretty ».

L'exécution de cette commande peut prendre un certain temps, veuillez donc patienter. Une fois la commande exécutée avec succès, vous pouvez enregistrer trois dépendances dans le fichier package.json, juste sous la section « dependencies ».

La première dépendance s'appelle « Axios », la deuxième « Cheerio » et la dernière « Pretty ». Axios est un client HTTP bien connu qui fonctionne dans le navigateur et sur Node. Vous en aurez besoin car Cheerio est considéré comme un analyseur de balisage.

Ainsi, pour vous assurer que Cheerio puisse analyser le balisage puis extraire les données dont vous avez besoin, vous devez utiliser

Pour vous assurer que Cheerio parvienne à analyser le balisage puis à extraire les données dont vous avez besoin, vous devez utiliser Axios pour récupérer le balisage depuis le site. Vous pouvez utiliser un autre client HTTP pour récupérer le balisage si vous le souhaitez. Il n'est pas nécessaire que ce soit Axios.

« Pretty », quant à lui, est un paquet npm permettant d’embellir le balisage afin qu’il soit parfaitement lisible lorsqu’il s’affiche sur le terminal.

Étape 4 : Inspectez la page Web que vous souhaitez extraire

Juste avant d'extraire les données de la page Web, vous devez d'abord bien comprendre la structure des données HTML de la page. Dans cette section

Avant d'extraire des données d'une page web, il est essentiel de comprendre la structure HTML de la page à partir de laquelle vous allez extraire les données. Sur Wikipédia, rendez-vous sur la page du code ISO 3166-1 alpha-3. Sous la section « code actuel », vous trouverez une liste des pays et de leurs codes.

Il vous suffit maintenant d'ouvrir les DevTools en appuyant sur la combinaison de touches « CTRL + MAJ + I ». Vous pouvez également cliquer avec le bouton droit de la souris, puis sélectionner l'option « Inspecter ». Voici une image montrant comment la « liste » s'affiche dans les DevTools

Étape 5 : Écrivez le code pour extraire les données

Vous devez maintenant écrire le code permettant d'extraire les données. Pour commencer, vous devez exécuter la commande « touch app.js » afin de créer le fichier app.js. Si cette commande s'exécute correctement, le fichier app.js sera créé dans le répertoire du projet sans aucune erreur.

Comme pour tous les autres paquets Node, vous devez installer pretty, Cheerio et anxious avant de commencer à les utiliser. Pour ce faire, vous devez ajouter le code suivant :

const axios = require ["axios"]

const Cheerio = require ["cheerio"]

const pretty = require ["pretty"]

Veillez à placer ces codes tout en haut du fichier app.js. Assurez-vous de bien maîtriser Cheerio avant de procéder au scraping des données. Vous pouvez analyser le balisage en manipulant la structure de données obtenue. Cela vous aidera à vous familiariser avec la syntaxe de Cheerio ainsi qu'avec le processus habituel. Voici le balisage de l'élément UL qui contient les éléments LI :

const URL markup = `

<ul class ="fruits">

<li class="frutis__mango"> Mangue </li>

<li class="fruits__apple"> Pomme </li>

</ul>

Vous pouvez facilement ajouter cette commande variable spécifique au fichier app.js.

Comment WebScrapingAPI peut-il vous aider ?

Comment WebScrapingAPI peut-il vous aider ?

Source de l'image : 

À présent, vous savez déjà comment utiliser Cheerio, pourquoi Cheerio.load ne fonctionne pas, ainsi que l'élément div, le contenu textuel, le nœud et le chargement HTML. Même si Cheerio est un excellent outil de web scraping, il en existe d'autres. Mais celui qui se démarque du lot est le logiciel WebScrapingAPI.

Ce logiciel de scraping est utilisé par plus de 10 000 entreprises pour nettoyer, extraire et collecter toutes les données utiles. Grâce à ce logiciel, vous pouvez facilement obtenir du code HTML brut à partir de n'importe quel type de page web, et il utilise une API simple. Il peut fournir des données prêtes à être traitées pour tous les membres de votre entreprise.

Le logiciel gère automatiquement le JavaScript et le rendu visuel du proxy via des CAPTCHA et de véritables navigateurs. Il contribuera sans aucun doute à la croissance de votre entreprise, et son équipe d'assistance client sera disponible 24h/24 et 7j/7 pour vous apporter l'aide dont vous avez besoin. Comparé à d'autres logiciels d'API de scraping, celui-ci collecte les données trois fois plus rapidement.

L'API WebScraping vous permettra également d'extraire une page web dans Vue, AngularJS, React et diverses autres bibliothèques JS. Vous découvrirez également l'API Amazon Scraper, l'API Google Search and Results,

Avantages : 

  • Il est accompagné d'un excellent service client
  • Logiciel facile à utiliser
  • Dispose d'une détection anti-bot
  • Proxys rotatifs

Inconvénients : 

Je n'ai trouvé aucun inconvénient lors de l'utilisation du logiciel

Choisissez WebScrapingAPI : le meilleur logiciel de web scraping

Choisissez WebScrapingAPI : le meilleur logiciel de web scraping

Source de l'image : 

Le crawling et le scraping sont très importants dans le monde d'aujourd'hui. Ce travail est effectué par des experts qui possèdent une bonne connaissance du scraping de sites sans commettre beaucoup d'erreurs. Le scraping peut vous aider à extraire les données dont vous avez besoin. Mais disposer d'un logiciel comme WebScrapingAPI peut rendre l'extraction beaucoup plus rapide.

Ce logiciel a gagné en popularité en tant que leader dans le domaine de l'extraction de données sur les sites web. Les entreprises qui utilisent ce logiciel d'extraction obtiennent plus de 50 millions de données chaque mois. Le logiciel est également doté d'une technologie de pointe qui le distingue des autres outils.

Grâce à cette plateforme, vous pouvez effectuer des comparaisons de prix, générer des prospects, collecter des données financières, réaliser des études de marché et bien d'autres choses encore. Alors, cet outil de scraping de sites pour collecter des données vous intéresse-t-il ? Vous pouvez contacter dès maintenant les experts de WebScrapingAPI ! L'utilisation de leur logiciel vous évitera les requêtes bloquées et vous bénéficierez d'un excellent service.

N'oubliez pas non plus de consulter les options tarifaires. Vous découvrirez différents types de forfaits, à partir de 49 $. Assurez-vous de faire quelques recherches et de vérifier le prix avant de commencer à utiliser le logiciel. 

Utilisez WebScrapingAPI dès aujourd'hui !

À propos de l'auteur
Gabriel Cioci, Développeur full-stack @ WebScrapingAPI
Gabriel CiociDéveloppeur full-stack

Gabriel Cioci est développeur Full Stack chez WebScrapingAPI, où il se charge de la création et de la maintenance des sites web, du panneau utilisateur et des principaux éléments de la plateforme destinés aux utilisateurs.

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.