Aller au contenu

Comment tirer tout le potentiel des fonctions d'importation de Google Sheets ?

Antoine Brisset
Antoine Brisset
Temps de lecture : 3 min
Comment tirer tout le potentiel des fonctions d'importation de Google Sheets ?
Photo by CHUTTERSNAP / Unsplash

Table des matières

Il y a quelques semaines mois, j'ai fait un thread Twitter sur les fonctions d'importation de Google Sheets.

Si tu es passé à côté, je te propose une petite séance de rattrapage, avec en bonus des informations complémentaires.

Présentation

Google propose 5 fonctions pour importer des données :

  • IMPORTXML : pour extraire les données de pages HTML ou de fichiers XML
  • IMPORTFEED : pour extraire les données de flux RSS ou Atom
  • IMPORTHTML : pour extraire des tableaux ou des listes HTML
  • IMPORTDATA : pour importer des données au format CSV ou TSV
  • IMPORTRANGE : pour importer des données depuis une autre feuille de calcul

Limites

Les fonctions d'importation sont puissantes mais elles présentent des limites :

  • Google n'exécute pas le JavaScript côté client, donc si tu importes des données depuis un site développé via framework JS, tu auras probablement le message suivant "Imported content is empty"
  • si ta page ou ton fichier est trop lourd, tu auras l'erreur suivante "Resource at url contents exceeded maximum size" : la limite n'est pas claire, mais au-delà de 50000 lignes/2MB, j'ai régulièrement le problème
  • Google a supprimé en 2015 la limite de 50 fonctions d'importation par feuille de calcul, mais en réalité, on se retrouve très vite avec des erreurs de type "Loading..." dès qu'on dépasse ce seuil

Solutions

Pour contourner les limites :

  • essaie de "chaîner" au maximum tes requêtes XPath avec "|". Par exemple, pour récupérer le title, la meta desc et le h1, tu peux utiliser une seule fonction : TRANSPOSE(IMPORTXML("https://www.seomemento.com/";"//title|//meta[@name='description']/@content|//h1//text()"))
XPath chaining
  • dispatche tes fonctions d'importation dans plusieurs feuilles de calcul différentes et utilise IMPORTRANGE pour tout regrouper dans une feuille "master"

Fraîcheur des données

Les fonctions IMPORTXML, IMPORTHTML et IMPORTDATA se mettent à jour :

  • automatiquement :
    • toutes les heures, SEULEMENT si le document est ouvert dans ton navigateur
  • immédiatement :
    • si tu supprimes la formule pour l'ajouter à nouveau dans la même cellule
    • si tu modifies le contenu d'une cellule à laquelle la fonction fait référence

❗ Si tu ouvres le document ou que tu fais un F5, les données ne seront pas actualisées.

Astuces

Mise à jour automatique

Pour que la mise à jour des données se fasse automatiquement tous les jours, tu peux utiliser la fonction TODAY, en ajoutant le résultat de cette fonction à un paramètre d'URL (fictif) de ta fonction d'import.

Exemple : "https://www.seomemento.com/?param="&today()

La fonction s'exécutera chaque jour sans que tu sois obligé d'ouvrir la page.

Ajout de la date dans l'URL avec la fonction TODAY

Tu peux aussi utiliser cette astuce avec un flux RSS (via IMPORTFEED), pour récupérer une liste actualisée des dernières publications d'un site.

Tu peux même connecter Zapier pour recevoir cette donnée par mail 😀

À noter que cette technique fonctionne avec TODAY, mais elle ne fonctionne ni avec NOW, ni avec RAND, ni avec RANDBETWEEN.

User-Agent

Olivier Perbet a donné en réponse au thread une information concernant le User Agent utilisé par Google Sheets (merci Olivier !).

Le voici : Mozilla/5.0 (compatible; GoogleDocs; apps-spreadsheets; +http://docs.google.com)

Pratique pour faire des tests, ajouter des restrictions ou adapter le contenu de son site en fonction de cet UA.

JSON

Même si ce n'est pas mentionné dans la documentation, tu peux tout-à-fait utiliser IMPORTDATA pour scraper un fichier JSON, en jouant ensuite avec les fonctions INDEX, SPLIT, REGEXREPLACE, etc.

J'ai donné plusieurs exemples récemment, notamment pour trouver l'IP d'un site web.

Et voilà ! Amuse-toi bien avec les fonctions d'importation !

Google Sheets

Antoine Brisset Twitter

Consultant SEO depuis 2010. Je traque les clics inutiles et j'automatise les tâches répétitives pour gagner du temps dans mon quotidien de travailleur du web.


Articles Similaires

Membres Public

Filtrer facilement des valeurs vides avec Google Sheets

📲Je propose désormais des sessions de coaching SEO. Si vous avez besoin d'un accompagnement personnalisé et sur mesure, en SEO ou en édition de sites, rendez-vous ici ! Aujourd'hui, petite astuce pour éviter de devoir utiliser les fonctions FLATTEN + FILTER quand vous devez : 1. convertir une plage

Filtrer facilement des valeurs vides avec Google Sheets
Membres Public

Comment analyser des paramètres d'URL avec Google Sheets ?

L'édition du jour est directement inspirée de l'article paru il y a a quelques jours sur le blog Yapasdequoi d'Aymeric Bouillat. Dans son (très bon) article, Aymeric explique comment faire l'agrégation du nombre de hits Googlebot sur les paramètres d'URL

Comment analyser des paramètres d'URL avec Google Sheets ?
Membres Public

RECHERCHEV dans Google Sheets : comment retourner plusieurs colonnes à la fois ?

Il y a quelques jours, Mickaël Zerrougui a partagé un petit tuto sympa sur la RECHERCHEV en SEO. Si tu l'as loupé, je te le remets ici ⬇️ 🏆 La RechercheV en SEO 🏆 Y'a des SEO qui savent toujours pas utiliser la rechercheV ?😱 Vous en avez marre des

RECHERCHEV dans Google Sheets : comment retourner plusieurs colonnes à la fois ?