Comment collecter des données avec Import XML dans Google Sheet ?

Sommaire
Comment collecter des données avec Import XML dans Google Sheet ?

Comprendre en 20 secondes comment collecter des données avec Import XML

Nous avons tous été dans une situation où nous avons dû extraire des données d'un site Web à un moment donné.

Lorsque vous travaillez sur un nouveau projet ou une nouvelle campagne, il se peut que vous ne disposiez pas des données ou des informations nécessaires à la création des annonces, tout simplement.

Ceux qui n'ont pas les outils nécessaires pour faire du web scraping - ou les connaissances en matière de codage pour utiliser Python - ont peut-être dû se résoudre à copier et coller manuellement des centaines ou des milliers de données.

Dans un projet récent, on m'a demandé de :

  • Allez sur le site Web du client.
  • Téléchargez plus de 150 nouveaux produits répartis sur 15 pages différentes.
  • Copiez et collez le nom du produit et l'URL de la landing page pour chaque produit dans une feuille de calcul.

Vous pouvez imaginer combien la tâche aurait été longue si le travail avait été fait manuellement.

Non seulement cela prendrait du temps, mais les risques de faire une erreur seraient également élevées : cela nécessiterait alors encore plus de temps pour relier les données et s'assurer qu'elles sont exempts d'erreurs.

Laissez-moi vous montrer comment réaliser collecter des données avec Google Sheets et sa fonction IMPORT XML sans n'avoir aucune compétence en développement.

LIRE PLUS : Comment collecter des données avec le langage Python ?

Quand utiliser IMPORTXML pour collecter des données ?

  • Extraction de données de sites web
  • Lorsque vous avez besoin de données sur les pages mais que vous n'avez pas envie d'utiliser d'outils
  • Lorsque vous avez besoin de données sur les pages mais que vous ne savez pas coder
LIRE PLUS : Liste d'outils pour collecter des données sur le Web

Comment utiliser IMPORTXML dans Google Sheets pour collecter des données

Vous voulez collecter des données sur internet... rapidement ?

Peut-être voulez-vous copier un tableau à partir d'un site web, ou peut-être voulez-vous récupérer rapidement des éléments SEO d'une page d'un concurrent.

IMPORTXML est là pour vous aider à automatiser vos opérations de collecte de données dans Google Sheets.

Qu'est-ce que la fonction IMPORTXML ?

La syntaxe de la fonction IMPORTXML est la suivante :

Documentation Google Sheets : Fonction IMPORTXML
Documentation Google Sheets : Fonction IMPORTXML

La fonction IMPORTXML importe des données à partir de divers types de données structurées, notamment XML, HTML, CSV, TSV et les flux XML RSS et ATOM.

Il extrait des informations de n'importe quel champ XML, c'est-à-dire de n'importe quel champ entouré de balises HTML (donc de pages web), comme <balise> et </balise>.

Vous pouvez l'utiliser pour importer des informations accessibles publiquement sur le Web.

Vous n'êtes donc pas autorisé à l'utiliser avec des sites Web auxquels vous devez vous connecter pour y accéder, pour plus d'informations, l'article ci-dessous devrait vous intéresser. 

LIRE PLUS : Le Web Scraping est-il légal ?

Les bases à connaître pour utiliser IMPORTXML 

L'URL

  • L'argument url est l'URL de la page Web à partir de laquelle vous souhaitez importer des données,
  • Indiquez le protocole (https:// ou http://).
  • La valeur de l'URL doit être soit entre guillemets, soit être une référence à une cellule contenant le texte approprié.

Requête XPath

  • L'argument xpath_query est la requête XPath à exécuter sur les données de l'URL donnée.
  • Chaque résultat de la requête XPath est placé dans sa propre ligne de la feuille de calcul.
  • XPath est un langage d'interrogation utilisé pour récupérer des éléments d'information sur des sites web.
  • Il possède sa propre syntaxe que vous pouvez apprendre en détail à partir de ressources en ligne.

Il existe quelques règles de base pour créer votre propre argument xpath_query :

La double barre oblique

La double barre oblique "//" signifie la sélection de tous les éléments de la balise qui est écrite après elle.

Par exemple : //h1 signifie sélectionner tous les éléments h1, //p signifie tous les éléments p et ainsi de suite.
La classe

[@class=''] signifie que vous souhaitez sélectionner uniquement les éléments qui répondent à ce critère donné.

Par exemple, //h1[@class='title'] n'importe que les éléments h1 dont l'attribut class est "title".
Éléments

Vous pouvez définir ces éléments sur plusieurs niveaux tels qu'ils apparaissent dans la source du site Web.

Par exemple, //h1/span examinera les éléments h1, puis les éléments span qu'ils contiennent.

Les bases de XPath

Pour utiliser XPath, vous devez comprendre les bases du HTML.

  • Les données d'un site web sont affichées avec HTML et sont stockées au format XML.
  • XPath est le langage utilisé pour interroger ces données.
  • Vous pouvez personnaliser ces arguments XPath en fonction de ce que vous recherchez sur le site Web.

Quelques XPaths utiles pour les spécialistes du marketing :

Découvrez ces raccourcis d'extraction XPath utiles pour collecter plus rapidement des données sur le web :

- Tous les liens d'une page : "//@href"
- Extraire tous les liens internes d'une page :
"//a[contient(@href, 'exemple.com')]/@href"
- Extraire tous les liens externes d'une page :
"//a[not(contains(@href, 'example.com'))]/@href"
- Titre de la page :
"//titre"
- H1(s) :
"//h1"
- Meta description :
"//meta[@name='description']/@content"
- Canonique :
"//link[@rel='canonical']/@href".
- Robots :
"//meta[@name='robots']/@content"
- Attributs Hreflang :
"//lien[@rel='alternate']/@hreflang"

La fonction IMPORTXML vous permet d'importer des données de sites web directement dans vos feuilles de calcul.

Il vous suffit de consulter le code source du site web à partir duquel vous souhaitez importer des données, de trouver l'élément HTML qui peut être utilisé et de le récupérer en utilisant des requêtes XPath.

Quelles sont les étapes pour utiliser IMPORTXML dans Google Sheets ?

ÉTAPE 1 : Commencez par ouvrir une nouvelle feuille Google

Tout d'abord, nous ouvrons un nouveau document Google Sheets vierge :

Google Sheets
Google Sheets

Pour cet exemple, vous pouvez utiliser la feuille d'exemple :

Feuille d'exemple Google Sheets : Collecte de données avec ImportXML

ÉTAPE 2 : Ajoutez le contenu que vous avez besoin d'extraire

Ajoutez l'URL de la page (ou des pages) dont nous voulons extraire les informations du web. 

Dans notre cas, nous allons extraire les titres de pages de l'ensemble des articles, ainsi que leurs URL et métadescriptions

Notre URL de départ sera donc la suivante : https://www.sales-hacking.com/blog

Web Scraping avec Google Sheet
Web Scraping avec Google Sheet

ÉTAPE 3 : Trouver le XPath

1) Utiliser l'inspecteur du Navigateur

Afin de trouver à quoi ressemble le XPath et comment le trouver simplement, il suffit d'utiliser un outil simple présent sur la totalité des navigateurs modernes : L'inspecteur. 

Ce XPath va nous permettre de récupérer spécifiquement chaque information souhaitée sur la page de manière : :

  • Relative : je souhaite tous les titres de blog de la page Web
  • Spécifique : je ne souhaite que les 10 ou 30 premiers titres d'articles de la page Web ou 1 seul en particulier

Dans notre exemple, commençons par les titres des 30 derniers articles.

  1. Allez dans votre Navigateur préféré .
  2. Une fois que vous avez survolé le titre de l'un des articles, faites un clic droit
  3. Et sélectionnez Inspecter (Inspect en anglais)
Utilisez l'inspecteur des moteurs de recherche pour trouver le XPath
Utilisez l'inspecteur des moteurs de recherche pour trouver le XPath

Une fois cliqué le Navigateur vous affichera le code HTML de la page Web comme ci-dessous :

code HTML
code HTML de la Page

Cela ne vous parle pas ? Pas de panique, nous allons voir à l'étape ci-dessous que le plus dur à faire pour vous sera une fois de plus de faire un "clic droit"

2) Copier/Coller le Xpath

L'inspecteur (disponible généralement dans la rubrique des  Outils de Développement de votre navigateur) vous permet de sélectionner directement la page l'élément dont vous souhaitez plus d'informations :

  1. Sélectionner sur la page avec l'Inspecteur la partie qui vous intéresse, c'est à dire dans cet exemple : le titre de l'un des articles
  2. Assurez-vous que le titre de l'article est toujours sélectionné et mis en évidence, puis cliquez à nouveau avec le bouton droit de la souris et choisissez Copier > Copier XPath.
Inspecteur du navigateur
Récupération du XPath par l'inspecteur du Navigateur

Le tour est joué, vous venez de sélectionner le XPath que vous allez utiliser tout de suite dans Google Sheets. 

ÉTAPE 4 : Extraire les données dans Google Sheets

Pour ce exemple, vous pouvez utiliser la feuille d'exemple ci-dessous (Créer une copie pour l'utiliser ) :

Feuille d'exemple Google Sheets : Collecte de données avec ImportXML

Note : La collecte des données des articles de blog présents dans cet article a été volontairement limité à 10 éléments pour éviter toute restriction de la part des services Google.

Récupération  des articles titres de Blog

De retour dans votre document Google Sheets, introduisez la fonction IMPORTXML comme suit :

Exemple fonction ImportXML

Il est possible de récupérer également les données par le biais de XPath spécifiques. 

Par exemple dans l'étape 3, nous avons sélectionné le XPath d'un article spécifique qui est celui-ci :

=IMPORTXML(B1,"/html/body/div[3]/div[1]/div[2]/div[3]/div/div["&B3&"]/div/div/a/h3")
Récupération du Titre par des XPath Spécifiques
Récupération du Titre par des XPath Spécifiques

Tout d'abord, dans notre formule, nous avons remplacé l'URL de la page par la référence à la cellule où est stockée l'URL.

Deuxièmement, lorsque vous copiez le XPath, il sera toujours placé entre guillemets.

Récupération des URL des articles de Blog

Voici à quoi cela ressemble sur le document Google Sheets

Exemple fonction IMPORT XML pour collecter des URL
Extraire des URL grâce à IMPORTXML de Google Sheets

Comme vous pouvez le voir, la liste renvoie tous les articles et les URLS qui figurent sur la page que nous venons d'extraire. 

Vous pouvez également appliquer ce principe à l'extraction de tout autre élément d'information nécessaire à la mise en place de vos projets comme la récupération des meta descriptions de chaque page (exemple à retrouver dans le fichier ci-dessous) :

Feuille d'exemple Google Sheets : Collecte de données avec ImportXML
feuille d'exemple complète
Feuille d'exemple à retrouver et copier/coller

Autres Exemples de formules IMPORTXML

Supposons que vous vouliez importer les titres des paragraphes de cet article de Wikipedia.

Après avoir regardé le code source, vous pouvez voir que les titres sont enfermés dans des balises <h2>. C'est donc ce que vous devez mettre dans votre formule IMPORTXML. En syntaxe XPath, il faut l'écrire comme "//h2".

Essayez la fonction suivante où la cellule A2 contient l'URL de l'article :

Web Scraping - ImportXML 3
Exemple d'utilisation de la fonction IMPORTXML - IMPORTXML(A2,"//h2")

Tout d'abord, vous verrez un signe "Loading...", alors que l'importation des données est en cours. L'importation à partir d'un site web prend un certain temps (mais c'est toujours plus rapide que de le faire manuellement).

Après quelques secondes, la fonction renvoie ce qu'elle a trouvé sur le site web avec les balises <h2>.

Cette solution n'est pas parfaite car il y a des textes [edit] supplémentaires à côté des titres que le site web contient, mais elle renvoie bien les titres des paragraphes.

Cette fois, du texte visible a été importé du site Web.

Mais avec la fonction IMPORTXML, vous pouvez importer toutes les données que contient la source HTML. Par exemple, il est très utile d'importer des méta-informations, des sources de liens ou toute autre information HTML cachée qui n'est pas visible lors de la navigation sur le site Web.

Récupérons les liens des vidéos YouTube depuis le site des règles de confidentialité de Google. Dans ce cas, le premier argument de la fonction IMPORTXML est l'URL de ce site.

Après avoir regardé la source du site Web, vous pouvez vous rendre compte que les vidéos YouTube sont enfermées dans des balises <iframe> et </iframe>. Vous devez donc ajouter //iframe à l'argument XPath de la fonction.

Ensuite, vous devez aller plus loin dans cette balise <iframe> pour trouver les données requises que vous souhaitez afficher. La source du lien des vidéos peut être trouvée dans les attributs src. Ajoutez une barre oblique "/" après la première partie de la requête XPath suivie de l'attribut src. Le caractère "@" indique qu'il s'agit d'un attribut. L'ensemble de la requête xpath_query sera : //iframe/@src.

Et toute la fonction pour importer les liens YouTube est :

Web Scraping - ImportXML 2
Exemple d'utilisation de la fonction IMPORTXML - IMPORTXML(A2,"//iframe/@src")

Parfois, ce qui différencie le code HTML du contenu que vous voulez importer n'est pas si évident, mais le langage XPath vous permet de créer des requêtes plus complexes qui permettent d'extraire uniquement les données souhaitées.

XPath dispose de certaines fonctions que vous pouvez inclure dans vos requêtes, telles que "contains" ou "starts with".

Voyons comment importer toutes les références (citations) du bas de l'article Google Sheet de Wikipedia.

Après avoir regardé la source du site web, vous pouvez voir que les références sont enfermées dans des balises <li>. Mais ce n'est pas suffisant car il y a beaucoup de balises <li> sur le site web.

Vous devez trouver quelque chose de plus qui différencie ces éléments de liste des autres parties du site Web. Ici, c'est l'attribut id des références qui contiennent toutes le terme "cite_note".

La fonction contain de XPath peut être utilisée pour importer uniquement les éléments <li> dont l'id contient le terme 'cite_note'.

C'est ce que fait la fonction IMPORTXML suivante :

Web Scraping - ImportXML 1
Exemple d'utilisation de la fonction Import XML - IMPORTXML(A2,"//li[contient(@id, 'cite_note')]")

Et il renvoie toutes les références qui ont été trouvées sur le site web avec cet identifiant.

Conclusion

Comme vous pouvez le constater, IMPORTXML peut être une fonction très puissante dans votre arsenal.

Vous disposez ainsi d'une méthode entièrement automatisée et sans erreur pour extraire des données de (potentiellement) n'importe quelle page Web, qu'il s'agisse du contenu et des descriptions de produits ou de données de commerce électronique telles que le prix du produit ou les frais d'expédition.

À une époque où les informations et les données peuvent constituer l'avantage nécessaire pour obtenir des résultats supérieurs à la moyenne, la capacité de collecter des données de pages Web et du contenu structuré de manière simple et rapide peut être inestimable. En outre, comme nous l'avons vu plus haut, IMPORTXML peut contribuer à réduire les temps d'exécution et les risques d'erreur.

En outre, cette fonction n'est pas seulement un outil formidable qui peut être utilisé exclusivement pour les tâches liées au PPC, mais elle peut être vraiment utile dans de nombreux projets différents qui nécessitent un scraping web, y compris les tâches liées au SEO et au contenu.

A Propos de l'Auteur ✍🏻
Comment collecter des données avec Import XML dans Google Sheet ?

Je suis le fondateur de sales-hacking.com. 
Depuis de nombreuses années, j'aide les dirigeants d'entreprise, responsable marketing et commerciaux à dépasser leurs objectifs. 
Dans ce blog je vous explique en quoi ce que sont les dernières techniques et stratégies de croissance
Suivez-moi pendant que j'explore et expose les stratégies et tactiques de croissance méconnues qui changeront votre façon de penser le business dans votre entreprise. 

signature
Découvrez Gratuitement 👇
Sommaire
Partenaire promotionnel
Autres Articles
Contenus associés

D'autres lectures sont disponibles pour décortiquer tous les sujets au coeur des innovations stratégiques, technologiques et méthodologiques.

Ils parlent de nous

trends logo
digimedia logo
techcrunch logo
Jon logo
growth hackers logo
medium logo
trends logo
trends logo

Tout le nécessaire pour construire le business de vos rêves

icon growth meeting
Les Astuces de Croissance

Consultez cette liste de nombreux Growth Hacks étoffées chaque jour.
Inspirez-vous et booster votre croissance.

LES GROWTH HACKS
icon growth blog
Les Ressources  pour Entrepreneurs

Ne cherchez plus les modèles pour piloter et booster votre croissance. Tout le contenu est là pour vous, en libre service, gratuitement.

TÉLÉCHARGEMENTS