Passer au contenu
  • Accueil

  • Productivité

  • Conseils d'application

Conseils d'application

8 min de lecture

Comment utiliser IMPORTXML dans Google Sheets

Par Abigail Sims · novembre 4 , 2024
Image principale pour les conseils sur l'application Google Sheets avec le logo Google Sheets sur fond vert

En fouillant dans des données sur Internet, j’ai l’impression d’être un archéologue. Pioche métaphorique dans une main, brosse à épousseter dans l’autre, je déterre soigneusement chaque élément de ligne et le place dans Google Sheets pour examen. Cela me permet de réaliser mes rêves de reconstitution de The Mummy avec 1999, mais il y a juste un inconvénient : cela prend une éternité. 

Au lieu de parcourir manuellement les sites Web à la recherche de données de base telles que des noms, des adresses ou des balises de titre, vous pouvez appuyer sur la fonction IMPORTXML de Google Sheets pour automatiser toute cette fouille minutieuse en un transfert de données transparent (presque magique). 

Voici comment utiliser IMPORTXML dans Google Sheets et faire de la collecte manuelle de données une chose du passé.

Table des matières:

  • Qu’est-ce que la fonction IMPORTXML dans Google Sheets ?

  • Comment utiliser la fonction IMPORTXML

  • Exemple d’importation de données dans Google Sheets avec IMPORTXML

  • Fonctions Google Sheets associées

  • Conseils sur IMPORTXML

  • Automatisez Google Sheets avec Zapier

  • FAQ SUR IMPORTXML

Qu’est-ce que la Function IMPORTXML dans Google Sheets ?

La fonction IMPORTXML est un outil de Google Sheets qui vous permet d’importer des données Web structurées directement dans votre feuille de calcul. La fonction est =IMPORTXML(url, "xpath"). Tout ce que vous avez vraiment besoin de savoir, c’est où se trouvent les données que vous recherchez, puis vous pouvez entrer l’URL cible et une requête XPath spécifiant les données que vous souhaitez extraire de la page Web dans cette fonction principale. 

Si tout cela ressemblait à du klingon, tu es toujours là, je te le promets. Une compréhension de base du XML et du HTML est nécessaire pour utiliser IMPORTXML, mais je vais couvrir cela ici - si je peux le faire, vous pouvez le faire. 

Voici quelques termes que tu dois comprendre pour utiliser IMPORTXML : 

  • HTML: Langage de balisage de base qui indique aux navigateurs comment afficher les informations. Un élément HTML se compose d’une balise de début, d’un contenu et d’une balise de fin.

    • Exemple : <p>Quelque chose</p>

  • XML : un langage de balisage et un format de fichier pour la gestion des données. C'est similaire au HTML, mais vous définissez vos propres balises. 

    • Exemple : <name>John</name>

  • Étiquette: En HTML et en XML, une balise est le balisage utilisé pour indiquer le début et la fin d’un élément. Les tags sont placés entre crochets.

    • Exemples : <tag> </tag> 

  • XPath : Expression utilisée pour parcourir le XML et spécifier des chemins. C’est ainsi que vous indiquez à Sheets l’emplacement à partir duquel extraire les données sur une page Web. 

    • Exemple (en gras) : =importxml (" https://en.wikipedia.org/wiki/List_of_T_postal_codes_of_Canada", " //td ")

Comment utiliser la fonction IMPORTXML dans Google Sheets

Tout d’abord, je vais vous donner un résumé très général de la manière de procéder. Ensuite, nous aborderons un exemple qui donnera plus de sens à tout cela et vous montrera certaines des possibilités vraiment intéressantes (si vous êtes vraiment intéressé par les données Web) d'IMPORTXML.

  1. Trouve la page web. Accédez au site Web qui contient les données que vous souhaitez importer.

  2. Inspecter l'élément. Cliquez avec le bouton droit de la souris sur une partie vide de la page Web, puis cliquez sur Inspecter pour examiner la structure HTML de la page Web.

  3. Identifiez les tags : Recherchez les balises qui contiennent les données souhaitées, par exemple <td> pour les cellules de données de table.

  4. Entrez la formule IMPORTXML. Dans une cellule Google Sheet, saisissez la fonction =IMPORTXML(url, "xpath"). Mettez à jour la fonction IMPORTXML avec l’URL à la place de l’url. Entre guillemets, remplace xpath par deux barres obliques suivies des tags que tu viens d'identifier.

  5. Personnalisez vos données. Extrayez seulement certains éléments de la table, filtrez vos données et nettoyez l’ensemble de données restant. 

Cela devrait remplir votre feuille avec les données entre les balises que vous avez identifiées à partir de l'URL que vous avez saisie. 

Notez que vous pouvez être invité à autoriser l’accès à un site Web externe : si cela se produit, il vous suffit de cliquer sur Accepter.

Exemple d’importation de données dans Google Sheets avec IMPORTXML 

Les tableaux Wikipédia sont un excellent moyen de s'entraîner à IMPORTER XML. Voyons donc un exemple d'extraction d'une liste de codes postaux et de quartiers urbains à partir de Wikipedia. Je vous expliquerai également comment obtenir des données encore plus spécifiques afin que vous puissiez voir comment manipuler les résultats pour obtenir exactement ce dont vous avez besoin.

1. Trouvez les données que vous souhaitez importer

Dans cet exercice, je vais saisir tous les codes postaux d'Edmonton, en Alberta. Ouvrez cette page dans une nouvelle fenêtre de navigateur si vous souhaitez suivre.

2. Inspecter le code HTML de la page Web 

Faites un clic droit sur une cellule de code postal sur la page et sélectionnez Inspecter pour afficher le code source HTML dans votre navigateur. 

Capture d'écran de l'inspection de la page Wikipédia

3. Identifier les tags

Vérifiez la balise qui héberge les données en question, qui dans ce cas est <td>la balise qui contient toutes les données d’une cellule.

Si tu regardes un code qui se lit comme suit <b>, tu n'es pas au bon endroit. Il s'agit d'un code de mise en forme pour le texte lui-même. Vous voulez la balise <td>, ou les données de table, car elle extraira toutes les données d’une table. Vous pouvez utiliser la fonctionnalité de recherche du menu Inspecter pour identifier la zone que vous souhaitez extraire. 

Capture d'écran du panneau d'inspection sur la page Wiki

4. Entrez dans la fonction IMPORTXML

Dans une nouvelle feuille Google, importez tous les codes postaux. Pour ce faire, sélectionnez une cellule et entrez la formule :

=IMPORTXML (" https://en.wikipedia.org/wiki/List_of_T_postal_codes_of_Canada", " //td ")

Pour rappel, il s’agit de la fonction =IMPORTXML(url, "xpath"), mais nous avons remplacé url par l’URL de la page web et nous avons remplacé xpath par deux barres obliques et la balise.

Si vous y êtes invité, cliquez sur Autoriser l'accès (en supposant que vous faites confiance au site à partir duquel vous importez !). Cela remplira tous les codes postaux de notre page Wikipédia d'origine, toutes les données contenues dans la balise <td> .

Capture d'écran de la fonction importxml

5. Personnalisez vos données

Si vous n’avez jamais vu de HTML de votre vie, cette section peut vous faire un peu peur, mais suivez simplement ces étapes et tout ira bien.

Extraire uniquement la ville principale

Et si tu voulais uniquement saisir la ville principale associée au code postal ? Notre première requête a permis d’extraire beaucoup de données supplémentaires. 

To narrow the scope, we can change the XPath query to "//td/span/a[1]". This will just pull the city linked to each postal code into our sheet—because we're specifying that we want to look within those table data cells for a "span" tag that contains an <a> (anchor) tag, which is where the city names are found in the HTML. 

Capture d'écran de la liste des villes principales uniquement

Extraire uniquement le code postal

Nous pouvons également extraire les codes postaux eux-mêmes. Pour ce faire, nous allons mettre à jour cette requête XPath en "//td/b[1]"

Ici, nous savons que /b[1] les cibles ne sont que les codes postaux, car l’inspection de la source HTML révèle que les codes postaux sont inclus dans la première <b> balise à l’intérieur de chaque <td> cellule de table.

Capture d'écran des codes postaux

Filtre pour Edmonton

Pour trouver les codes postaux à Edmonton, en Alberta, nous allons utiliser une requête encore plus précise. 

Nous allons modifier la requête XPath en " //td [span/A='Edmonton'] /b [1] ". Cela ne renverra que les codes postaux qui incluent " Edmonton " dans le champ td/span/a [1], puisque c'est là que les noms des villes figurent dans le code de page. 

Capture d’écran des données d’Edmonton

Extraire les noms des quartiers

Ensuite, nous allons nous appuyer sur cela en extrayant les noms des quartiers et en les mettant dans la colonne à côté des codes postaux. Pour obtenir les noms de quartiers suivant " Edmonton, ", nous utiliserons cette requête XPath : " //td [span/A='Edmonton'] /span [1] ".

Capture d’écran des données du quartier

Comme vous pouvez le constater, il s’agit soudainement d’une grande quantité de données. Cette fonction récupère l’intégralité du contenu de span[1] et utilise des parenthèses et des barres obliques pour le diviser, en rapprochant « Edmonton » dans la première colonne et chaque nom de quartier dans les colonnes suivantes.

Nettoyer le jeu de données

À partir de là, nous pouvons faire le ménage en réorganisant nos données en colonnes pour le code postal, la ville et le quartier. Cela nous donnera un ensemble de données précis que nous pourrons utiliser pour à peu près tout, à condition que cela nécessite des noms de quartier à Edmonton.

Étant donné que les données en question s’étendent de la colonne B à la colonne J, vous pouvez utiliser les fonctions SPLIT et CONCATENATE pour cela : =SPLIT(concatenate(B2:J2),"(/)").

Il suffit de faire défiler la page et d'utiliser cette fonction quelques colonnes ou quelques lignes vers le bas. Vous pouvez le faire pour toutes les données que vous souhaitez nettoyer et supprimer les espaces ou la ponctuation en excès. 

Et voilà, notre liste des codes postaux et des quartiers d'Edmonton. 

Fonctions Google Sheets associées

Les fonctions de Google Sheets sont les niveaux de cool de la momie , et il y en a d’autres d’où cela vient. Voici quelques autres fonctions qui fonctionnent de la même manière que IMPORTXML, car elles peuvent être utilisées pour importer des données d’une source dans une feuille. 

Développe tes nouvelles ailes de XPath grâce à l'une des fonctions connexes suivantes : 

  • IMPORTERHTML : Importe des données à partir d’une table ou d’une liste HTML sur une page Web. (Très similaire à ce que nous venons de faire, mais pour des tableaux HTML entiers.)

  • GAMME D'IMPORTATION: Importe une plage de cellules d’une feuille de calcul Google Sheets à une autre. (Facilite la combinaison des données Sheets.) 

  • IMPORTDATA : Importe des données à partir d’un fichier CSV ou TSV hébergé sur une URL Web.

  • IMPORTFEED : importe le contenu d'un flux RSS— idéal pour les sites d'actualités si vous souhaitez créer un flux en direct dans votre feuille de calcul. 

  • GOOGLEFINANCE : Importe les données actuelles ou historiques des marchés financiers directement depuis Google Finance.

Conseils sur IMPORTXML

Si tu es arrivée jusqu'ici, tu es probablement déjà une magicienne agréée des feuilles et tu n'as plus besoin de mes conseils. Mais au cas où, voici quelques bonnes pratiques pour utiliser des fonctions telles que IMPORTXML. 

  • Utilisez la fonction Inspecter : Utilisez Inspect Element dans votre navigateur Web pour afficher la structure HTML de la page avant d’extraire les données. Cliquez avec le bouton droit de la souris sur l’élément de la page Web que vous souhaitez importer, puis sélectionnez Inspecter dans le menu de votre navigateur. Cela te permet de voir tous les tags inclus, ce qui peut éventuellement t'aider à préciser ta requête. 

  • Vérifiez votre URL : Assurez-vous toujours que l’URL de votre formule IMPORTXML est l’URL entière, et pas seulement le slug ou la majeure partie de celui-ci. Et oui, cela inclut le préfixe http :// ou https ://. (Nous ne dirons pas combien de fois j'ai foiré celui-ci.)

  • Soyez précis : Il est généralement préférable de cibler des données très spécifiques avec votre requête plutôt que d’extraire des plages de données massives. Utilisez des requêtes précises pour extraire exactement les données dont vous avez besoin, ni plus ni moins. 

  • Utilisez une feuille de test : J’aime configurer une feuille Google séparée pour tester mes fonctions IMPORTXML avant de les mettre en œuvre, car il n’y a aucun moyen que je ne le gâche pas la première fois. Cela m’aide à m’assurer que ma requête fonctionne correctement avant de l’ajouter à ma véritable feuille de calcul avec toutes les données très importantes. 

Automatisez Google Sheets avec Zapier

La fonction IMPORTXML est un cadeau pour les passionnés de données du monde entier. Cela fait de la collecte manuelle de données, du moins sur le Web, une chose du passé momifié, afin que vous puissiez passer plus de temps à admirer vos belles Sheets.

Et si cela ne suffit toujours pas, vous pouvez explorer les intégrations Google Sheets de Zapier. Zapier vous permet de connecter Sheets à des milliers d’autres applications, en automatisant les importations à partir de formulaires, d’événements et de tout autre endroit où vous avez des données. Apprenez-en plus sur l’automatisation de Google Sheets ou consultez certains de ces modèles prédéfinis.

Enregistrer les nouveaux e-mails Gmail correspondant à certaines caractéristiques dans une feuille de calcul Google

Enregistrer les nouveaux e-mails Gmail correspondant à certaines caractéristiques dans une feuille de calcul Google
  • Logo Gmail
  • Logo Google Sheets
Gmail + Google Sheets

Créer des rangs Google Sheets pour les nouveaux prospects Google Ads

Créer des rangs Google Sheets pour les nouveaux prospects Google Ads
  • Logo Google Ads
  • Logo Google Sheets
Google Ads + Google Sheets

Ajouter de nouveaux prospects Facebook Lead Ads aux rangées sur Google Sheets

Ajouter de nouveaux prospects Facebook Lead Ads aux rangées sur Google Sheets
  • Logo Facebook Lead Ads
  • Logo Google Sheets
Facebook Lead Ads + Google Sheets

Envoyer des e-mails via Gmail lorsque les lignes de Google Sheets sont mises à jour

Envoyer des e-mails via Gmail lorsque les lignes de Google Sheets sont mises à jour
  • Logo Google Sheets
  • Logo Gmail
Google Sheets + Gmail

Zapier est la plateforme d’orchestration AI la plus connectée, s’intégrant à des milliers d’applis de partenaires tels que Google, Salesforce et Microsoft. Utilisez des interfaces, des tables de données et de la logique pour créer des systèmes sécurisés, automatisés et alimenté par l'IA pour vos flux de travail critiques pour l'ensemble de la pile technologique de votre organisation. En savoir plus.

FAQ SUR IMPORTXML

Quelle est l’alternative à IMPORTXML dans Google Sheets ?

Si tu cherches une alternative à IMPORTXML, tu peux utiliser la fonction similaire, IMPORTHTML. Il est moins précis que IMPORTXML et est principalement utilisé pour les tableaux ou les listes. Vous pouvez également utiliser un outil tiers si votre objectif est un scraping Webà plus grande échelle, ou écrire votre propre script. 

Comment puis-je actualiser IMPORTXML dans Google Sheets ?

Pour actualiser IMPORTXML dans Sheets, cliquez sur n'importe quelle cellule contenant la fonction et appuyez sur Entrée ou Retour. Cela recalculera manuellement la formule et actualisera les données. Les données sont également actualisées chaque fois que vous apportez une modification à la formule, ou vous pouvez utiliser un module complémentaire ou un script personnalisé qui actualisera automatiquement la feuille. 

À quelle fréquence est-ce que IMPORTXML est actualisé ?

Aussi souvent que tu le souhaites. La fonction IMPORTXML ne se rafraîchit pas automatiquement, mais il est facile de la rafraîchir chaque fois que vous souhaitez la trigger. Les triggers d’actualisation incluent l’appui sur la touche Entrée ou Retour sur une cellule contenant la fonction, la modification d’autres cellules voisines ou la modification de la formule. La fonction peut également être actualisée si elle contient un élément dynamique tel que NOW (), puisque ces éléments sont actualisés automatiquement. 

Lectures connexes :

  • Idées d’automatisation Google Sheets pour organiser votre entreprise

  • Google Forms vers Google Sheets : comment mettre à jour automatiquement l’inventaire

  • Que signifie l'erreur d'analyse de formule dans Google Sheets ? (Et comment y remédier)

  • Comment connecter ChatGPT à Google Sheets

  • Les meilleurs outils de collecte de données

Cet article a été initialement publié par Allana Mayer dans 2017. La dernière mise à jour date de novembre 2024.

Recevez des conseils pour améliorer votre productivité directement dans votre boîte de réception

Nous vous enverrons un e-mail 1à3 fois par semaine — et nous ne partagerons jamais tes informations.

balises
applications mentionnées

Articles connexes

Améliorez votre productivité en automatisant vos tâches. Utilisez Zapier pour connecter vos applications.

S'inscrire
Découvrez le fonctionnement de Zapier
Un Zap qui se déclenche à l’arrivée d’une nouveau prospect Facebook et qui envoie une notification à mon équipe sur Slack