Comment extraire des données d’un site web avec Google Sheets

Le web scraping est une technique puissante qui permet d’extraire des informations de sites web et de les analyser automatiquement. Bien qu’il soit possible de le faire manuellement, cette tâche peut s’avérer fastidieuse et chronophage. Les outils de scraping web rendent le processus plus rapide et plus efficace, tout en étant moins coûteux.

Il est intéressant de noter que Google Sheets peut devenir votre outil de scrapping web unique, grâce à sa fonction IMPORTXML. Avec IMPORTXML, vous pouvez facilement extraire des données de pages web et les utiliser pour des analyses, des rapports ou toute autre tâche liée aux données.

La fonction IMPORTXML dans Google Sheets

Google Sheets propose une fonction intégrée appelée IMPORTXML, qui vous permet d’importer des données à partir de formats web tels que XML, HTML, RSS et CSV. Cette fonction peut changer la donne si vous souhaitez collecter des données à partir de sites web sans avoir recours à un codage complexe.

Voici la syntaxe de base de IMPORTXML :

  • url: L’URL de la page web dont vous voulez extraire les données.
  • xpath_query: La requête XPath qui définit les données que vous souhaitez extraire.

XPath (XML Path Language) est un langage utilisé pour naviguer dans les documents XML, y compris HTML, qui permet de spécifier l’emplacement des données dans une structure HTML. Il est essentiel de comprendre les requêtes XPath pour utiliser correctement IMPORTXML.

Comprendre XPath

XPath fournit diverses fonctions et expressions pour naviguer et filtrer les données dans un document HTML. Un guide complet sur XML et XPath dépasse la portée de cet article, nous nous contenterons donc de quelques concepts XPath essentiels :

  • Sélection d’éléments: Vous pouvez sélectionner des éléments en utilisant / et // pour indiquer des chemins. Par exemple, /html/body/div sélectionne tous les éléments div dans le corps d’un document.
  • Sélection d’attributs: Pour sélectionner des attributs, vous pouvez utiliser @. Par exemple, //@href sélectionne tous les href de la page.
  • Filtres de prédicats: Vous pouvez filtrer les éléments à l’aide de prédicats placés entre crochets (). Par exemple, /div sélectionne tous les div avec la classe conteneur.
  • Les fonctions: XPath fournit diverses fonctions telles que contains(), starts-with() et texte() pour effectuer des actions spécifiques telles que la vérification du contenu du texte ou des valeurs des attributs.
Voir aussi :  Microsoft Power BI vs Tableau : les principaux avantages et inconvénients de chacun

Comment extraire XPath d’un site web

Jusqu’à présent, vous connaissez la syntaxe IMPORTXML, vous connaissez l’URL du site Web et vous savez quel élément vous voulez extraire. Mais comment obtenir le XPath de l’élément ?

Il n’est pas nécessaire de connaître par cœur la structure d’un site web pour en extraire les données avec IMPORTXML. En effet, chaque navigateur dispose d’un outil astucieux qui vous permet de copier instantanément l’XPath de n’importe quel élément.

L’outil Inspecter l’élément vous permet d’extraire le XPath des éléments d’un site web. Voici comment procéder :

  1. Naviguez jusqu’à la page web que vous souhaitez récupérer à l’aide de votre navigateur préféré.
  2. Localisez l’élément que vous souhaitez analyser.
  3. Cliquez avec le bouton droit de la souris sur l’élément.
  4. Sélectionnez Inspecter l’élément dans le menu du clic droit. Votre navigateur ouvre un panneau qui affiche le code HTML de la page web. L’élément HTML concerné est mis en évidence dans le code.
  5. Dans le panneau Inspecter l’élément, cliquez avec le bouton droit de la souris sur l’élément mis en évidence dans le code HTML.
  6. Cliquez sur Copier XPath pour copier l’adresse XPath de l’élément dans votre presse-papiers.

Maintenant que vous avez tout ce qu’il vous faut, il est temps de voir IMPORTXML en action et de récupérer quelques liens.

Comment extraire des liens d’un site web avec IMPORTXML

Vous pouvez utiliser IMPORTXML pour extraire toutes sortes de données de sites web. Cela inclut les liens, les vidéos, les images et presque tous les éléments du site web. Les liens sont l’un des éléments les plus importants de l’analyse web, et vous pouvez en apprendre beaucoup sur un site web rien qu’en analysant les pages vers lesquelles il renvoie.

Voir aussi :  Tous les programmeurs qui utilisent OneNote ont besoin de ces modules complémentaires dès que possible

IMPORTXML vous permet de récupérer rapidement des liens dans Google Sheets et de les analyser ensuite à l’aide des diverses fonctions offertes par Google Sheets.

1. Récupérer tous les liens

Pour récupérer tous les liens d’une page web, vous pouvez utiliser la formule suivante :

Cette requête XPath sélectionne tous les href de a ce qui permet d’extraire tous les liens de la page.

La formule ci-dessus extrait tous les liens d’un article de Wikipedia.

Il est conseillé de saisir l’URL de la page web dans une cellule distincte et de faire ensuite référence à cette cellule. Vous éviterez ainsi que votre formule ne devienne trop longue et peu maniable. Vous pouvez faire de même avec la requête XPath.

2. Récupérer tous les textes des liens

Pour extraire le texte des liens ainsi que leurs URL, vous pouvez utiliser :

Cette requête sélectionne tous les éléments, et vous pouvez extraire le texte des liens et les URL à partir des résultats.

La formule ci-dessus permet d’obtenir les textes des liens dans le même article de Wikipedia.

Comment extraire des liens spécifiques d’un site web avec IMPORTXML

Il peut arriver que vous ayez besoin d’extraire des liens spécifiques en fonction de certains critères. Par exemple, il peut être intéressant d’extraire des liens contenant un mot-clé particulier ou des liens situés dans une section spécifique de la page.

Avec une bonne connaissance de XPath, vous pouvez localiser n’importe quel élément que vous recherchez.

1. Extraction de liens contenant un mot-clé

Pour récupérer les liens qui contiennent un mot-clé spécifique, vous pouvez utiliser la fonction XPath contains() :

Voir aussi :  Les 10 meilleurs thèmes d'Obsidian pour personnaliser votre prise de notes

Cette requête sélectionne les attributs href des éléments dont le href contient le mot-clé spécifié.

La formule ci-dessus récupère tous les liens qui contiennent le mot record dans leur texte dans un exemple d’article de Wikipedia.

2. Récupération de liens au sein d’une section

Pour récupérer les liens d’une section particulière d’une page, vous pouvez spécifier le XPath de la section. Par exemple :

Cette requête sélectionne les attributs href des éléments à l’intérieur des éléments div avec la classe « section ».

De même, la formule ci-dessous sélectionne tous les liens dans la classe div qui ont la classe mw-content-container :

Il convient de noter que vous pouvez utiliser IMPORTXML à d’autres fins que le web scraping. Vous pouvez utiliser la famille de fonctions IMPORT pour importer des tableaux de données depuis des sites web vers Google Sheets.

Bien que Google Sheets et Excel partagent la plupart de leurs fonctions, la famille de fonctions IMPORT est propre à Google Sheets. Vous devrez envisager d’autres méthodes pour importer des données de sites web vers Excel.

Simplifier la récupération de données sur le web avec Google Sheets

L’exploration du Web avec Google Sheets et la fonction IMPORTXML est un moyen polyvalent et accessible de collecter des données à partir de sites Web.

En maîtrisant XPath et en comprenant comment créer des requêtes efficaces, vous pouvez exploiter tout le potentiel d’IMPORTXML et obtenir des informations précieuses à partir des ressources web. Alors, commencez à faire du scraping et faites passer votre analyse du web au niveau supérieur !

Améliorez votre QI technologique grâce à nos lettres d’information gratuites

En vous abonnant, vous acceptez notre politique de confidentialité et pouvez recevoir des communications occasionnelles ; vous pouvez vous désabonner à tout moment.

Cliquez pour évaluer cet article !
[Total: Moyenne : ]

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *