Importation de n’importe quel tableau ou liste à partir d’une page Web

Photo of author

By Julien

Google Sheets propose une bonne sélection de fonctions pour importer des données à partir de sources externes. Certains d’entre eux incluent IMPORTRANGE, IMPORTFEED, IMPORTDATA, IMPORTXML et IMPORTHTML.

Dans ce tutoriel, nous parlerons spécifiquement de la fonction IMPORTHTML de Google Sheets. Nous discuterons de ce que fait la fonction, de sa syntaxe et examinerons quelques exemples simples de son utilisation.

À quoi sert la fonction IMPORTHTML de Google Sheets ?

La fonction IMPORTHTML est une fonction de capture de données utile qui nous aide à extraire des tableaux et des listes de pages Web. La fonction recherche dans une page HTML (avec une URL donnée) des tableaux ou des listes et copie la liste ou le tableau souhaité de la page vers un classeur Google Sheets.

Tous les tableaux du fichier HTML sont inclus

balises lorsque toutes les listes sont incluses

    balises (pour les listes non ordonnées) ou

      identifiants pour les listes ordonnées. Cela rend IMPORTHTML très facile à détecter les tableaux et les listes sur une page Web.

      Lorsque nous spécifions l’index de la table ou de la liste que nous voulons extraire, la fonction trouve simplement la table ou la liste dans cet index et l’extrait dans notre feuille de calcul.

      Syntaxe de la fonction IMPORTHTML dans Google Sheets

      La syntaxe de la fonction IMPORTHTML dans Google Sheets est la suivante :

      =IMPORTHTML(url, query_type, index)

      Ici,

      • La URL Le paramètre spécifie l’URL de la page Web à partir de laquelle nous voulons extraire la liste ou le tableau. Cela devrait inclure le protocole (“http://” ou “https://“).
      • La demande Le paramètre détermine si nous voulons extraire un tableau ou une liste de la page Web.
      • La indice Le paramètre spécifie l’index de la table ou de la liste dont nous avons besoin à partir de la page Web. Les index commencent toujours à 1, donc si nous voulons extraire la première table de la page Web, nous définissons ce paramètre sur 1.

      Utilisation de la fonction IMPORTHTML pour importer une liste à partir d’une page Web

      Prenons un exemple pour comprendre comment utiliser la fonction IMPORTHTML pour extraire une liste spécifique d’une page Web.

      Disons que nous voulons extraire une liste de la page “Top 10 Python Machine Learning Libraries” à l’URL https://www.edureka.co/blog/python-libraries/. Voici à quoi ressemble la liste sur le site Web d’origine :

      10 meilleures bibliothèques d'apprentissage automatique Python

      Pour obtenir cette liste, nous devons d’abord connaître l’index Cette liste spécifique tout au long de la page Web. Si vous visitez le site Web à cette URL, vous remarquerez qu’il existe plusieurs listes différentes sur la page. Alors, comment savons-nous quel est l’index de cette liste ?

      Obtenir le répertoire du catalogue à partir du site Web

      Pour obtenir la liste de la page Web d’index, nous devons écrire un petit morceau de code javascript dans la console du navigateur. Ne vous inquiétez pas, vous n’avez pas grand-chose à faire, copiez simplement le code ci-dessous dans la console :

      var indice = 1 ;

      [].forEach.call(document.getElementsByTagName(“array”), function(elements) { console.log(“Index: ” + index++, elements); });

      Voici comment obtenir la liste nécessaire de notre répertoire à partir de la page Web donnée :

      • Ouvert Développeur les outils de votre navigateur. Si vous utilisez un ordinateur Windows, appuyez sur la touche F12 de votre clavier. Cela fonctionne dans Firefox, Google Chrome ou Microsoft Edge. Si vous utilisez un Mac, appuyez sur Cmd+Opt+J pour ouvrir Google Chrome et Cmd+Opt+C pour ouvrir Safari (n’oubliez pas d’activerDévelopper le menu‘ première).
      • Lorsque votre outil de développement s’ouvre, cliquez sur ‘Console’ -languette.
      Obtenir le répertoire du catalogue à partir du site Web
      • Collez ou tapez le code ci-dessus dans la zone de script de la console
      Obtenir le répertoire du catalogue à partir du site Web
      Obtenir le répertoire du catalogue à partir du site Web
      • Dans la zone de sortie, vous devriez voir une série d’index qui ressemblent à ceci :
      Dans la zone de sortie, vous devriez voir une série d'index qui ressemblent à ceci
      • Si vous déplacez le pointeur de la souris sur chaque répertoire, vous verrez la liste correspondant à ce répertoire en surbrillance sur votre page Web. Cela vous aidera à comprendre quel répertoire correspond à la liste que vous souhaitez.
      Si vous déplacez le pointeur de la souris sur chaque répertoire, vous verrez la liste correspondant à ce répertoire en surbrillance sur votre page Web.

      Comme vous pouvez le voir dans la capture d’écran ci-dessus, la liste que nous voulons extraire se trouve dans le répertoire 18 de la page Web.

      Utilisation de la fonction IMPORTHTML pour importer une liste à partir d’une page Web

      Une fois que vous connaissez l’index de la liste à extraire, vous pouvez continuer et l’utiliser dans la fonction IMPORTHTML comme suit :

      =IMPORTHTML("https://www.edureka.co/blog/python-libraries/","list",18)

      La formule ci-dessus récupère la liste numéro 18 de la page Web à https://www.edureka.co/blog/python-libraries/.

      Pour ajouter une liste à une feuille de calcul Google Sheets, saisissez la formule ci-dessus dans une feuille de calcul vierge, appuyez sur Entrée et attendez quelques secondes que la liste apparaisse dans la feuille de calcul.

      Utilisation de la fonction IMPORTHTML pour importer une liste à partir d'une page Web

      Comment utiliser la fonction IMPORTHTML pour importer un tableau à partir d’une page Web

      En plus des listes, vous pouvez également importer des tableaux à partir de pages Web à l’aide de la fonction IMPORTHTML.

      Disons que nous voulons récupérer les prix actuels du marché de toutes les crypto-monnaies sur le site Web CoinMarketCap. L’URL de la page est : https://coinmarketcap.com/all/views/all/

      Voici à quoi ressemble le tableau sur le site Web d’origine :

      tableau de la capitalisation du marché des pièces

      Pour récupérer cette table, nous devons connaître son index dans la page Web.

      Obtenir un index de table à partir d’une page Web

      Le même code javascript peut être utilisé pour trouver l’index de la table souhaitée, mais avec une petite modification. À la place d’utiliser querySelectorAll choisissez tout”rue” et “ol” éléments, nous utilisons getElementsByTagName fonction tout décharger”table» éléments du site Web. Voici le code que vous pouvez copier et coller dans la console :

      var index=1;

      [].forEach.call(document.getElementsByTagName ("table"),function(elements) {console.log("Index: "+index++,elements);});

      Voici à quoi ressemble la sortie du code ci-dessus dans la console :

      Comment utiliser la fonction IMPORTHTML pour importer un tableau à partir d'une page Web

      Comme vous pouvez le voir dans la capture d’écran ci-dessus, la table que nous voulons extraire se trouve dans le répertoire 3 de la page Web.

      Utilisation de la fonction IMPORTHTML pour importer un tableau à partir d’une page Web

      Une fois que vous connaissez l’index de la table que vous extrayez, vous pouvez continuer et l’utiliser dans la fonction IMPORTHTML comme ceci :

      =IMPORTHTML("https://coinmarketcap.com/all/views/all/","table",3)

      La formule ci-dessus récupère le tableau numéro 3 de la page Web à “https://coinmarketcap.com/all/views/all/”.

      Voici à quoi ressemble le tableau dans votre feuille de calcul Google Sheets :

      Voici à quoi ressemble le tableau dans votre feuille de calcul Google Sheets :

      Combinaison de la fonction IMPORTHTML avec les fonctions QUERY pour extraire des parties spécifiques d’une table

      Voyons maintenant comment vous pouvez affiner l’extraction pour n’obtenir que certaines colonnes ou lignes de la table.

      Nous pouvons combiner la fonction IMPORTHTML Feuilles Google DEMANDE fonction afin que nous puissions interroger le résultat et extraire exactement ce dont nous avons besoin.

      Extraire des colonnes de tableau spécifiques d’une page Web

      Disons à partir de la table de crypto-monnaie que vous voulez juste Nom et Prix de chaque crypto-monnaie. Dans de tels cas, vous pouvez le spécifier dans votre fonction QUERY. La Nom et Prix colonnes sont les 2e et 5e colonnes du tableau. Nous définissons donc cela dans la fonction QUERY comme suit :

      =QUERY(IMPORTHTML("https://coinmarketcap.com/all/views/all/","table",3), "SELECT Col2, Col5")

      Ici, la fonction IMPORTHTML récupère d’abord votre table numéro 3 sur le site Web de coinmarketcap, puis la fonction QUERY prend cette table et extrait uniquement deuxième et cinquième colonnes à ce sujet.

      Extraire des colonnes de tableau spécifiques d'une page Web

      Extraire des lignes de tableau spécifiques d’une page Web

      Nous affinons maintenant davantage notre recherche et rétrécissons notre fenêtre. Disons que nous voulons voir uniquement les lignes où Prix la valeur est supérieure à 1000 $.

      Nous pouvons spécifier cette condition dans la fonction QUERY en ajoutant une clause WHERE comme suit :

      =QUERY(IMPORTHTML("https://coinmarketcap.com/all/views/all/","table",3), "SELECT Col2, Col5 WHERE Col5>1000")

      Car Prix est dans la colonne 5, nous avons spécifié que nous ne voulions sélectionner que ces lignes Col2 et Col5 Col5>1000.

      Voici le résultat que nous obtenons :

      Extraire des lignes de tableau spécifiques d'une page Web

      Mise à jour automatique de la fonction IMPORTHTML à certains intervalles

      Dans la plupart des cas, nous voulons voir la dernière version des données que nous récupérons sur le site Web. La fonction IMPORTHTML met automatiquement à jour les données importées toutes les heures.

      Toutefois, si vous souhaitez accélérer ou ralentir l’intervalle d’actualisation, vous pouvez le faire en ajoutant une file d’attente d’actualisation supplémentaire comme suit :

      =IMPORTHTML("https://coinmarketcap.com/all/views/all/?refresh=1","table",3)

      Notez que nous avons ajouté un “?Actualiser-1” condition à la fin de la chaîne d’url.

      La formule ci-dessus entraîne la mise à jour de la fonction IMPORTHTML toutes les minutes.

      Dans ce didacticiel, nous avons examiné en détail la fonctionnalité IMPORTHTML de Google Sheets. Nous avons expliqué comment fonctionne la fonction, sa syntaxe et comment l’utiliser dans différents cas. Nous espérons que vous avez trouvé le didacticiel utile et facile à suivre.


      Julien

      Laisser un commentaire