L’une des prin­ci­pales qualités de Google Sheets est sa capacité à pouvoir importer di­rec­te­ment des contenus de sites Internet : la fonction importXML() de Google Sheets lit les contenus struc­tu­rés du site Internet et les transfère dans le tableau souhaité du tableur de Google.

Remarque

Les deux tableurs Google Sheets et Excel pré­sen­tent de nom­breuses si­mi­li­tudes, mais ils se dis­tin­guent par plusieurs points es­sen­tiels comme le montre notre com­pa­ra­tif d’Excel et de Google Sheets.

Cette im­por­ta­tion « XML to Google Sheets » est par­ti­cu­liè­re­ment pratique lorsque l’on souhaite générer des tableaux à partir de données dis­po­nibles en ligne. Dans cet article, vous dé­cou­vri­rez comment mettre à profit cette pos­si­bi­lité. Par ailleurs, nous vous donnons quelques sug­ges­tions pour utiliser cette fonction utile de Google Sheets de façon per­ti­nente.

Google Sheets : brève ex­pli­ca­tion de la fonction importXML()

La fonction importXML() lit les données struc­tu­rées de projets Web et les insère dans les cellules d’une feuille de calcul de Google Sheets.

Pour utiliser cette fonction, la formule suivante doit être saisie dans le logiciel de Google :

=importXML(URL, XPath)

importXML() de Google Sheets dispose de deux pa­ra­mètres seulement :

  • URL : l’adresse Web à partir de laquelle vous souhaitez obtenir des données. Le plus simple est de la copier di­rec­te­ment depuis la barre d’adresse du na­vi­ga­teur.
  • XPath : le chemin qui indique à quel endroit de la page se trouvent les données que vous souhaitez importer.
Conseil

Vous trouverez des in­for­ma­tions dé­tail­lées sur XPath dans notre tutoriel XPath.

Si vous saisissez di­rec­te­ment les pa­ra­mètres dans la fonction, vous devez les placer entre des guil­le­mets. Le plus simple est d’écrire les deux pa­ra­mètres (sans guil­le­mets) dans deux cellules de tableaux et d’y faire référence dans la formule de la fonction. Vous pourrez ainsi faire l’économie des guil­le­mets.

Google Workspace (an­cien­ne­ment G Suite)
Facilitez le travail en équipe
  • Tous les outils Google au même endroit
  • Mes­sa­ge­rie pro­fes­sion­nelle via Gmail
  • Utiliser Gmail avec votre domaine chez IONOS

Pos­si­bi­li­tés d’uti­li­sa­tion de la fonction « XML to Google Sheets » 

La fonction importXML() peut être utilisée de façon po­ly­va­lente. Les quatre pos­si­bi­li­tés d’ap­pli­ca­tion suivantes sont par­ti­cu­liè­re­ment in­té­res­santes :

  • la création de listes de liens,
  • l’analyse de données de page Web struc­tu­rées,
  • l’ex­trac­tion de contenu de texte,
  • la reprise de tableaux HTML.

Dans les sections suivantes, nous vous ex­pli­quons comment utiliser con­crè­te­ment la fonction importXML dans Google Sheets à travers ces quatre pos­si­bi­li­tés d’ap­pli­ca­tion.

Créer des listes de liens

Pour une raison ou une autre, on peut avoir besoin de présenter clai­re­ment des adresses de sites Internet in­té­res­sants dans une liste com­por­tant l’URL, le nom du site Web et une des­crip­tion éloquente. Le site Internet Nodesign fournit une bonne base pour ce cas d’ap­pli­ca­tion : cette col­lec­tion de liens présente des outils gra­phiques pour les dé­ve­lop­peurs ayant peu ou pas de formation en design. Les liens ap­pa­rais­sent dans des cadres contenant une image, un titre et une des­crip­tion rapide. À l’heure actuelle, cette col­lec­tion comporte plus de 140 entrées.

À partir de ce site, nous sou­hai­tons utiliser la fonction importXML() dans Google Sheets pour créer une liste de liens et procédons comme suit :

  1. Dé­ter­mi­ner les contenus dans le code source de la page Web

Dans ce cas, nous avons besoin de l’URL, du texte d’ancrage (c’est-à-dire du libellé du lien) et de la des­crip­tion. Pour ce faire, nous con­sul­tons l’outil dé­ve­lop­peur de notre na­vi­ga­teur (touche F12 ou clic droit et « Inspecter ») puis nous sé­lec­tion­nons le premier cadre. Sous la balise <h5>, ce cadre contient les données sou­hai­tées : l’URL (1), le texte d’ancrage du lien (2) ainsi que la des­crip­tion (3).

  1. Définir le XPath

La deuxième étape consiste à définir le chemin (XPath) pour ces trois in­for­ma­tions :

URL : l’URL est un attribut de la balise <a> qui se trouve sous la balise <h5>. Par con­sé­quent, son XPath est :

//h5/a/@href

Texte d’ancrage : le texte d’ancrage est le contenu de la balise <a> définie ci-dessus : //h5/a. Nous reprenons le XPath précédent en aban­don­nant l’attribut @href.

Des­crip­tion : cet XPath est un peu plus délicat puisqu’il ne se trouve pas au même niveau hié­rar­chique que la balise <a>. Si nous prenons sim­ple­ment le pa­ra­graphe <p> comme XPath, les textes ne cor­res­pon­dront plus à l’URL. Par con­sé­quent, nous dé­fi­nis­sons le pa­ra­graphe qui contient la des­crip­tion comme l’élément qui suit la balise <h5> au même niveau hié­rar­chique :

//h5/following-sibling::p
  1. Utiliser la fonction dans le tableau Google

À présent, nous écrivons pour chacune de ces trois in­di­ca­tions une ins­truc­tion importXML() dans une colonne du tableau. Cette opération ne doit être réalisée que sur la première ligne ; le programme remplit au­to­ma­ti­que­ment les autres lignes. La formule à pro­pre­ment parler est alors écrasée par le contenu.

Pour garder une vue d’ensemble, nous ajoutons une ligne vide en haut et nous y sai­sis­sons à nouveau la fonction à titre in­for­ma­tif. Nous ajoutons cette fois-ci une apos­trophe au début pour que la formule ne soit pas exécutée et soit traitée comme du texte simple.

Vous pouvez alors éditer ce tableau de la façon ha­bi­tuelle ; dans ce cas, les dif­fé­rentes cellules con­tien­dront les données ac­tua­li­sées et non la formule.

Excel avec Microsoft 365 pour les en­tre­prises et IONOS !
La solution Office que vous con­nais­sez, encore mieux
  • Boîte email Exchange jusqu’à 50 Go
  • Dernières versions de vos ap­pli­ca­tions Office préférées
  • As­sis­tance gratuite pour l’ins­tal­la­tion

Analyse de données struc­tu­rées d’une page Web

La liste de liens que nous venons de générer peut à présent être analysée de diverses manières si né­ces­saire. On pourrait par exemple également lister le méta-titre, la méta-des­crip­tion, la langue et le codage pour chaque URL trouvée, ces in­for­ma­tions ayant une utilité à des fins de SEO.

Pour ce faire, nous sai­sis­sons les in­for­ma­tions XPath dans la ligne su­pé­rieure et cons­trui­sons la fonction dans la deuxième ligne (exemple : deuxième colonne) :

=importXML($A2,B$1)

La formule reprend l’URL de la première colonne et le XPath de la ligne su­pé­rieure. Pour pouvoir étendre la formule vers le bas et la droite, nous utilisons la première colonne et la première ligne comme ré­fé­rences absolues (symbole $).

Note

Les entrées #NV indiquent que les in­for­ma­tions re­cher­chées sur la page Web n’ont pas été trouvées.

Pour dé­con­nec­ter le tableau des sites Internet mis en lien, nous pouvons les sé­lec­tion­ner, les copier et les insérer dans une nouvelle feuille de calcul en appuyant sur [Maj] + [Ctrl] + [V].

Ex­trac­tion de contenu de texte

Grâce aux progrès réalisés en re­con­nais­sance de ca­rac­tères par l’in­tel­li­gence ar­ti­fi­cielle, également connue sous le nom de Natural Language Pro­ces­sing, les besoins en ex­trac­tion de grandes quantités de texte à des fins d’analyse de sites Internet vont gran­dis­sants.

Les journaux quo­ti­diens, les agré­ga­teurs d’ac­tua­li­tés et les sites de synthèse de la presse en sont un bon exemple : ils four­nis­sent des in­for­ma­tions pré­cieuses pour analyser les tendances.

Pour les besoins de notre dé­mons­tra­tion, nous avons choisi le site de synthèse de la presse newstral.com. Nous sou­hai­tons sim­ple­ment extraire une liste de l’ensemble des com­mu­ni­qués de presse (titres). Pour cela, nous procédons comme suit :

  1. Dé­ter­mi­ner les contenus dans le code source de la page Web

Dans l’outil dé­ve­lop­peur (touche fonction F12 ou clic droit et « Inspecter »), nous sé­lec­tion­nons un gros titre et observons comment il est structuré. Dans ce cas, la structure est très simple : le gros titre est le texte d’ancrage du lien (ligne in­fé­rieure) :

  1. Définir le XPath

Pour que seuls les titres soient repris et non l’ensemble des liens de la page, nous devons toutefois définir plus pré­ci­sé­ment le Xpath : il convient de trouver uni­que­ment les balises <a> de la classe « headline », et uni­que­ment celles qui se trouvent à l’intérieur du pa­ra­graphe de la classe « headlines-container ».

//div[@class="headlines-container"]/ul/li/span/a[@class="headline"]
  1. Utiliser la fonction dans le tableau Google

Nous sai­sis­sons l’URL et le Xpath dans la colonne à l’extrémité gauche d’une feuille de calcul Google vide. De là, nous pouvons fa­ci­le­ment aller les chercher pour écrire la fonction :

(cellule B1) =importXML(A1,A2)
(cellule B2) =importXML(A1,A3)

Nous obtenons alors une liste des gros titres. Cerise sur le gâteau, nous pouvons ac­tua­li­ser cette liste à tout moment avec F5 de façon à toujours afficher les contenus les plus récents.

Conseil

Vous souhaitez d’autres astuces pour Google Sheets ? Pour cela, découvrez comment créer des listes dé­rou­lantes dans Google Sheets.

Reprendre des tableaux HTML

Pour trans­fé­rer un tableau d’un site Internet dans Google Sheets, il vous suffit d’une simple formule. Prenons par exemple le tableau d’un article de Wikipedia sur les modèles Samsung Galaxy : pour importer ce tableau, nous avons sim­ple­ment besoin de la balise <table> dans le XPath. Toutefois, nous devons encore dé­ter­mi­ner combien de balises <table> précèdent notre tableau. Le tableau que nous re­cher­chons est le troisième de ce site Internet. La formule cor­res­pon­dante est donc :

=importXML(„https://fr.wikipedia.org/wiki/Samsung_Galaxy“, „//table[3]/tbody/*“)

Et voilà ! Il a suffi d’une simple formule dans la cellule B1 pour trans­po­ser cor­rec­te­ment l’in­té­gra­lité du tableau avec toutes ses lignes et ses colonnes dans notre feuille de calcul.

Comme vous pouvez le constater, l’im­por­ta­tion « XML to Google Sheets » peut être utilisée de façon in­croya­ble­ment po­ly­va­lente et permet d’éco­no­mi­ser quantité de temps et d’efforts.

Note

De nom­breuses pla­te­formes de réseaux sociaux et de grands re­ven­deurs en ligne comme Amazon in­ter­di­sent le Web scraping. Par con­sé­quent, lisez tout d’abord les con­di­tions d’uti­li­sa­tion avant de mettre à l’épreuve vos nouvelles com­pé­tences en Web scraping sur ces pla­te­formes.

Aller au menu principal