Saviez-vous qu'il est possible de récupérer les données d'un site Web à l'aide de Google Sheets? Voici comment procéder.

Le Web scraping est une technique puissante pour extraire des informations de sites Web et les analyser automatiquement. Bien que vous puissiez le faire manuellement, cela peut être une tâche fastidieuse et longue. Les outils de scraping Web rendent le processus plus rapide et plus efficace, tout en coûtant moins cher.

Il est intéressant de noter que Google Sheets a le potentiel de devenir votre outil unique de suppression de sites Web, grâce à sa fonction IMPORTXML. Avec IMPORTXML, vous pouvez facilement extraire des données de pages Web et les utiliser à des fins d'analyse, de création de rapports ou toute autre tâche basée sur les données.

La fonction IMPORTXML dans Google Sheets

Google Sheets fournit 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 recourir à un codage complexe.

Voici la syntaxe de base d'IMPORTXML :

=IMPORTXML(url, xpath_query)
  • URL: L'URL de la page Web dont vous souhaitez récupérer les données.
  • requête_xpath: La requête XPath qui définit les données que vous souhaitez extraire.

XPath (XML Path Language) est un langage utilisé pour parcourir les documents XML, y compris HTML, vous permettant de spécifier l'emplacement des données dans une structure HTML. Comprendre les requêtes XPath est essentiel pour utiliser correctement IMPORTXML.

Comprendre XPath

XPath fournit diverses fonctions et expressions pour parcourir et filtrer les données dans un document HTML. Un guide complet sur XML et XPath dépasse le cadre 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 désigner les chemins. Par exemple, /html/body/div sélectionne tous les éléments div dans le corps d'un document.
  • Sélection d'attribut: Pour sélectionner des attributs, vous pouvez utiliser @. Par exemple, //@href sélectionne tout href attributs sur la page.
  • Filtres de prédicats: Vous pouvez filtrer des éléments à l'aide de prédicats placés entre crochets ([ ]). Par exemple, /div[@class="container"] sélectionne tout div éléments avec la classe récipient.
  • Les fonctions: XPath fournit diverses fonctions telles que contient(), commence avec(), et texte() pour effectuer des actions spécifiques telles que la vérification du contenu du texte ou des valeurs d'attribut.

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 souhaitez extraire. Mais comment obtenir le XPath de l'élément ?

Vous n'avez pas besoin de connaître par cœur la structure d'un site Web pour en extraire les données avec IMPORTXML. En fait, chaque navigateur dispose d'un outil astucieux qui vous permet de copier instantanément le XPath de n'importe quel élément.

L'outil Inspecter l'élément vous permet d'extraire le XPath des éléments du site Web. Voici comment:

  1. Accédez à la page Web que vous souhaitez supprimer à l’aide de votre navigateur Web préféré.
  2. Localisez l'élément que vous souhaitez gratter.
  3. Faites un clic droit sur l'élément.
  4. Sélectionner Inspecter l'élément dans le menu contextuel. Votre navigateur ouvrira un panneau qui affiche le code HTML de la page Web. L'élément HTML concerné sera mis en évidence dans le code.
  5. Dans le panneau Inspecter l'élément, cliquez avec le bouton droit sur l'élément en surbrillance 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 dont vous avez besoin, il est temps de voir IMPORTXML en action et de supprimer quelques liens.

Vous pouvez utiliser IMPORTXML pour récupérer toutes sortes de données sur des 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 simplement en analysant les pages auxquelles il renvoie.

IMPORTXML vous permet de récupérer rapidement des liens dans Google Sheets, puis de les analyser plus en détail à l'aide des différentes fonctions proposées par Google Sheets.

Pour supprimer tous les liens d’une page Web, vous pouvez utiliser la formule suivante :

=IMPORTXML(url, "//a/@href") 

Cette requête XPath sélectionne tout href attributs de un éléments, extrayant efficacement tous les liens de la page.

=IMPORTXML("https://en.wikipedia.org/wiki/Nine_Inch_Nails", "//a/@href")

La formule ci-dessus supprime tous les liens dans un article Wikipédia.

C'est une bonne idée de saisir l'URL de la page Web dans une cellule distincte, puis de faire référence à cette cellule. Cela évitera que votre formule ne devienne trop longue et lourde. Vous pouvez faire la même chose avec la requête XPath.

2. Supprimer tous les textes de liens

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

=IMPORTXML(url, "//a") 

Cette requête sélectionne tous les éléments et vous pouvez extraire le texte du lien et les URL des résultats.

=IMPORTXML("https://en.wikipedia.org/wiki/Nine_Inch_Nails", "//a")

La formule ci-dessus obtient les textes des liens dans le même article Wikipédia.

Parfois, vous devrez peut-être supprimer des liens spécifiques en fonction de critères. Par exemple, vous pourriez être intéressé à 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 identifier n'importe quel élément que vous recherchez.

Pour supprimer les liens contenant un mot-clé spécifique, vous pouvez utiliser la fonction XPath contain() :

=IMPORTXML(url, "//a[contains(@href, 'keyword')]/@href") 

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

=IMPORTXML("https://en.wikipedia.org/wiki/Nine_Inch_Nails", "//a[contains(@href, 'record')]/@href")

La formule ci-dessus supprime tous les liens contenant le mot enregistrement dans leur texte dans un exemple d'article Wikipédia.

Pour extraire des liens d'une section particulière d'une page, vous pouvez spécifier le XPath de la section. Par exemple:

=IMPORTXML(url, "//div[@class='section']//a/@href") 

Cette requête sélectionne les attributs href des éléments au sein des éléments div avec la classe « section ».

De même, la formule ci-dessous sélectionne tous les liens de la classe div qui possèdent la classe mw-content-container :

=IMPORTXML("https://en.wikipedia.org/wiki/Nine_Inch_Nails", "//div[@class='mw-content-container']//a/@href")

Il convient de noter que vous pouvez utiliser IMPORTXML pour bien plus que du web scraping. Vous pouvez utiliser la famille de fonctions IMPORT pour importer des tableaux de données de sites Web vers Google Sheets.

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

Simplifiez le Web Scraping avec Google Sheets

Le Web scraping 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 libérer tout le potentiel d'IMPORTXML et obtenir des informations précieuses à partir des ressources Web. Alors, commencez à scrapper et faites passer votre analyse Web au niveau supérieur !