11 Skip to content

Comment extraire des données d'une page Web avec Google Sheets

Nous avons tous eu besoin d'une feuille de calcul à un moment donné, et lorsque nous découvrons à quel point elles sont importantes et utiles, nous n'hésitons pas à continuer à en apprendre davantage.

Collectez des données de n’importe où avec la fonction Google Sheet ImportXML

Nous avons tous eu besoin d’une feuille de calcul à un moment donné, et lorsque nous découvrons à quel point elles sont importantes et utiles, nous n’hésitons pas à continuer à en apprendre davantage.

Je me déclare notamment fanatique des feuilles de calcul, surtout s’il s’agit de feuilles de calcul Google, puisque Ceux-ci peuvent collecter des informations de manière très dynamique, même lorsque nous sommes endormis.

En plus de nous permettre d’obtenir n’importe quel type d’informations que nous voulons, des cours des actions, l’analyse du site Web, à tout autre type d’informations que nous voulons, où que nous soyons.

Même si nous voulons obtenir des données du Web en général, avec Google Sheet s est également possible, c’est-à-dire copier des informations à partir d’un tableau sur un site Web, copier une liste d’événements ou une grille de faits ou d’adresses e-mail qui sont distribués sur une page Web, entre autres actions qui nous prendraient une éternité à les transporter terminé.

Google Sheets nous permet d’importer des données à partir de n’importe quel type de page Web en utilisant une excellente fonction appelée ImportXML, qui est la fonction Je vais vous en parler aujourd’hui et vous verrez qu’une fois que vous le maîtriserez, vous ne voudrez plus cesser de travailler avec leur aide, car les avantages que vous en tirerez sont vraiment uniques et fascinants.

Qu’est-ce que ImportXML?

Comme je l’ai déjà indiqué, ImportXML est l’une des fonctions des feuilles de calcul Google et peut être utilisé pour accéder aux listes et aux tableaux contenir les pages.

Et pour l’utiliser correctement, il est nécessaire de connaître la structure de la page qui est veulent évaluer, et aussi, cette page doit avoir ses étiquettes de liste et ses tableaux très bien formés, car cela dépendra de lequel de ces deux éléments est celui qui nous intéresse, c’est-à-dire les tableaux ou les listes.

En plus du fait que selon le but initial pour lequel IMPORTXML a été conçu, cette fonction peut être utilisée pour récupérer le contenu de fichiers XML .

Cette idée est née, car de nombreuses pages Web respectent les règles XML, depuis un certain temps sur Internet il y a de nombreuses publications qui suggèrent son utilisation, pour récupérer les données des pages web.

Mais pour pouvoir utiliser cette fonction , une série d’exigences doit être remplie, sinon il sera impossible que cela fonctionne, car tous les sites Web ne sont pas compatibles.

Où puis-je utiliser ImportXML?

Vous pouvez utiliser ImportXML pour obtenir des informations dans n’importe quel champ XML , entre crochets entre O . Autrement dit, vous pouvez obtenir des données à partir de n’importe quel site Web ou même des métadonnées générées par un site Web. Avec cette option ou fonction, vous pouvez copier et coller les informations, puis commencer à modifier tout ce dont vous avez besoin.

Quelles sont les bases de XML et HTML?

Pour travailler et comprendre correctement cette fonction, il est nécessaire de contrôler et connaître très bien le code HTML ou le balisage XML, qui est chargé de désigner l’ensemble de données dans une page Web.

Et aussi, tout ensemble de O , en plus des composants de base du code source d’une page Web, qui indiquent qu’un certain ensemble de données en leur sein, par exemple, , , du texte dans un

graphique, qui peut également contenir ou peut-être et même un lien suivi de .

pour tout fermer.

Avec le La fonction ImportXML de Google Sheets est également possible pour rechercher un ensemble de données XML spécifique à partir duquel copier les données. Donc, si nous voulons obtenir tous les liens sur une page Web, tout ce que nous avons à dire à la fonction ImportXML est d’importer toutes les informations qui se trouvent à l’intérieur des balises .

Mais si nous voulons obtenir tout le texte d’une page Web parce que nous faisons un travail plus avancé, nous devrons sélectionner tout ce qui se trouve à l’intérieur du ou, à défaut, tout c’est-à-dire dans chaque instance de

et après avoir effectué cette action, nous devons nettoyer nos données par étapes.

Comment puis-je extraire une liste de codes postaux et de districts de villes?

Si vous pensiez que ce n’était pas possible, laissez J’ai adoré te dire que ça l’est. Vous pouvez maintenant faire correspondre votre liste de clients par code postal avec une mairie de votre ville.

Je travaille actuellement dans ce projet avec mes pages, mais cela n’a pas été très facile, car le Canada ne fournit pas les données de nos codes postaux. Cependant, j’ai réussi à avancer grâce au fait que Wikipédia dispose d’un tableau des codes postaux avec leurs communes et quartiers respectifs. Mais si vous êtes dans un pays où ces informations sont gratuites, ce sera beaucoup plus facile pour vous de le faire.

Mais Si pour l’instant ce qui vous intéresse est la pratique, vous trouverez dans les tableaux Wikipédia un excellent moyen de pratiquer ImportXML. Voyons un exemple simple, nous allons essayer de prendre tous les codes postaux.

Nous avons tous eu besoin d'une feuille de calcul à un moment donné, et lorsque nous découvrons à quel point elles sont importantes et utiles, nous n'hésitons pas à continuer à en apprendre davantage.

Si nous ouvrons la page dans une autre fenêtre de navigateur, nous devons voir ce qui est montré dans l’image précédent. Jetons maintenant un œil à la source de la page. Et pour cela nous allons sélectionner l’un des codes postaux, quand il est déjà sélectionné, nous faisons un clic droit dessus, une série d’options s’affichera et nous allons sélectionner celle de “ Inspect », avec lui nous pouvons ouvrir les outils du navigateur et voir le code source de la page.

Et comme on peut le voir, il semble que chacun des codes postaux soit à l’intérieur d’une étiquette. Par conséquent, dans notre cas, nous allons nous concentrer sur l’importation des balises TD qui contiennent le mot « Edmonton “, qui sont ceux qui nous intéressent en ce moment.

Après cela, l’étape suivante consiste à créer une nouvelle feuille de calcul, dans laquelle nous collerons tout le contenu de la balise TD, nous inclurons même le et les liens. Et pour être clair sur ce que nous voulons avec chacun d’eux, nous allons utiliser la syntaxe XPath.

Nous avons tous eu besoin d'une feuille de calcul à un moment donné, et lorsque nous découvrons à quel point elles sont importantes et utiles, nous n'hésitons pas à continuer à en apprendre davantage.

Il est également important que vous sachiez que Imported XML table in Google Sheets ImportXML prend les URL et les balises recherchées comme arguments , donc le plus recommandé est de mettre l’algorithme suivant dans Google Sheets:

= importxml (“https://en.wikipedia.org/wiki/List_of_T_postal_codes_of_Canada”, “// td”)

De cette façon nous nous assurons que nous recueillons les informations du td dans cette url .

En indiquant cet algorithme, vous verrez le résultat suivant:

Imported XML table in Google Sheets

Si nous regardons la police de notre page, nous pouvons voir comment le code postal est en gras, ou , tandis que les noms des villes liées aux articles Wikipédia sont en .

Pour le prochain exercice, ce que nous allons faire Il s’agira de prendre le premier lien qui se trouve dans chacune des cellules, puisque c’est là que se trouve la ville principale, les autres ne sont que les quartiers.

Lorsque cette action sera prête, nous allons la modifier dans deux commandes, que vous pouvez trouver dans les colonnes A et B: = importxml (“https://en.wikipedia.org/wiki/List_of_T_postal_codes_of_Canada” , “// td / span / a “) = Importxml (” https://en.wikipedia.org/wiki/List_of_T_postal_codes_of_Canada “,” // td / b ”), Avec cela, nous pourrons filtrer un peu plus nos résultats, et nous verrons ce qui suit:

Cleaned up Google Sheets XML table

Avec ces exemples, nous devons avoir une idée du fonctionnement de la syntaxe de la requête XPath.

De plus, il est important que vous soyez clair qu’une étiquette avec signifie: “donnez-moi simplement la première instance de dans ». Donc si nous voyons, td / span / a vous donne le premier lien dans le dans chaque aussi, td / b est celui qui fournit le premier texte en gras dans c postal codes in Google Sheets, dans notre cas, il nous fournit le code postal.

Et si nous voulons faire deux requêtes avec une seule fonction, il est également possible de combiner les requêtes simplement en utilisant le «| au milieu, par exemple:

= importxml (“https://en.wikipedia.org/wiki/List_of_T_postal_codes_of_Canada”, “// td / span / a | // td / b ”)

Et bien que ce soit une fonction très utile, nous n’allons pas obtenir les résultats de la même manière, puisque toutes les requêtes qui correspondent seront interfilées dans une longue liste, et non dans deux colonnes comme nous en avons l’habitude:

Single column table

Même dans l’exemple que je vous ai donné, nous ne voulons pas de toutes ces lignes; puisque ce qui nous intéresse, ce sont les résultats qui correspondent à « Edmonton »dans ce champ td / span / a .

Parce que notre intention est de renvoyer le code postal, et pour cette raison, nous ne sommes intéressés que par le b décennie

qui a “Edmonton” en span / a . Et pour pouvoir sélectionner les codes postaux dans les cases dans lesquelles les premiers liens sont «Edmonton», il faudra utiliser le code suivant:

= importxml (“https://en.wikipedia.org/wiki/List_of_T_postal_codes_of_Canada”, “// td [span / a = ‘Edmonton’] / b ”)

Single column table

Et si nous voulons des informations beaucoup plus spécifiques, comme obtenir les noms des quartiers, nous devrons inclure une autre fonction importXML, qui nous mènera à la colonne suivante, en sélectionnant le texte qui vient après le mot «Edmonton».

En général, ce que je fais dans ce type de cas est de saisir le contenu de span en utilisant les parenthèses, comme la barre pour diviser le contenu, avec cela, nous divisons “Edmonton” qui apparaîtra dans la première colonne, tandis que les quartiers ou les quartiers seront placés dans les colonnes suivantes. Et nous pouvons également faire correspondre les codes postaux avec les noms des quartiers. Pour ces cas, nous utiliserons le code suivant:

= importxml (“https://en.wikipedia.org/wiki/List_of_T_postal_codes_of_Canada”, “// td [span / a = ‘Edmonton’] / span ”)

Il y a aussi les colonnes qui utilisent les fonctions de division et de concaténation, ce sont celles qui sont chargées de séparer et de regrouper les données avec lesquelles nous travaillons:

= SPLIT (concaténer (B2: J2), «(/)»)

Lors de l’application de cette fonction, nous allons avoir notre table finale et totalement propre, puisque nous n’aurons que le code postal, la ville et toutes les informations dont nous avons besoin du quartier.

postal codes in Google Sheets

Voyez-vous à quel point c’est facile? Ce n’est pas aussi difficile que vous le pensiez au début . Avec le temps, tout sera beaucoup plus facile et vous améliorerez cette méthode. Par exemple, vous ne pouvez choisir que le contenu de après le , seulement le texte entre parenthèses, et même seulement le texte qui inclut la chaîne “Edmonton”, ou tout ce qui suit le saut de ligne
. En plus de copier automatiquement les adresses e-mail d’un site Web.

Et en plus de tout ce que j’ai mentionné auparavant , il est important que vous sachiez clairement que Google Spreadsheets, également connu sous son acronyme comme “ HCG », ils ont une grande variété de fonctions disponibles qui nous permettent de faire beaucoup de choses. Ces fonctions sont appelées IMPORT quelque chose , et parmi eux, nous avons celui dont nous avons parlé dans cet article, qui est Importxml et aussi:

Importer des données

Importdata est l’une des fonctions IMPORT , qui a été créé afin de nous permettre d’accéder aux fichiers CSV ou TSV, cependant, au fil du temps et grâce à son utilisation, il a été découvert qu’il est possible de l’utiliser pour prendre des données de n’importe quel fichier qui contient un texte réfléchi, en plus il distribuera automatiquement tout le contenu en colonnes et en lignes, à l’aide de virgules ou de tabulations.

Importation

Ceci est la fonction IMPORT, qui nous permet d’accéder à toutes les sources de contenu dans lequel il n’est pas possible de s’abonner, que ce soit au format ATOM ou RSS. Formats généralement utilisés dans les blogs.

Importhtml

Il s’agit de la fonction IMPORT qui nous permet d’accéder aux listes et tableaux de pages web statiques. Mais pour pouvoir l’utiliser il faut connaître la structure de la page, en plus du fait que la page doit avoir très bien formé les étiquettes de listes ou de tableaux, qui nous intéressent.

Plage d’importation

Importrange se caractérise par être un cas particulier parmi toutes les fonctions IMPORT des feuilles Calcul Google. Cette fonction est utilisée pour obtenir des données à partir d’autres feuilles de calcul (HCG).

Par conséquent, vous remarquerez peut-être que Au lieu de mettre l’URL, vous n’aurez qu’à indiquer la clé ou l’identifiant de la feuille de calcul qui vous intéresse. Cependant, pour utiliser cette fonction, il est important que l’utilisateur nous donne son autorisation d’accéder aux données du HCG externe, par conséquent, l’utilisateur pourra accéder à la feuille de calcul source.

Ce sont des fonctions qui ont une caractéristique en commun et qui n’est autre qu’avec l’une d’entre elles, via une adresse Internet, qui est connue sous le nom de “ URL ” , qui à son tour est l’acronyme en anglais de Universal Resource Locator , il est possible d’accéder aux données.

Chacun d’eux impose ses propres exceptions, cependant, l’une des plus spécifiques est Importrange, car l’une de ses exigences est que les données soient accessibles au public. Cela signifie que pour avoir accès aux données, il n’est pas nécessaire de se connecter et qu’elles ne vous limitent en aucun cas l’accès aux serveurs de Google.

Exemple de modèle d’extrait de données à partir de pages Web

Voici un modèle pour que vous puissiez voir comment cela se fait, dans cet exemple je montre comment j’extrait des données de moz:

  • Modèle pour récupérer les données de n’importe quelle page Web

N’oubliez pas que cela a de nombreuses possibilités telles que le scraping de contenu dans d’autres langues pour traduire directement avec l’API de Deepl ou Google directement dans Google Sheets.