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 compte ou une nouvelle campagne, vous ne disposez peut-être pas des données ou des informations nécessaires à la création des annonces, par exemple.

Dans un monde idéal, nous aurions reçu tout le contenu, les pages de destination et les informations pertinentes dont nous avons besoin, dans un format facile à importer tel qu’un CSV, une feuille de calcul Excel ou Google Sheet. (Ou à tout le moins, à condition que nous ayons besoin de données tabulées pouvant être importées dans l’un des formats susmentionnés.)

Mais ce n’est pas toujours le cas.

Ceux qui n’avaient pas les outils de grattage Web – ou les connaissances en codage pour utiliser quelque chose comme Python pour aider à la tâche – ont peut-être dû recourir au travail fastidieux de copier et coller manuellement des centaines ou des milliers d’entrées.

Dans un travail récent, mon équipe a été invitée à :

  • Accédez au 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 page de destination de chaque produit dans une feuille de calcul.

Maintenant, vous pouvez imaginer combien de temps la tâche aurait été si nous avions fait cela et exécuté manuellement la tâche.

Non seulement cela prend du temps, mais avec quelqu’un qui parcourt manuellement autant d’éléments et de pages et doit physiquement copier et coller les données produit par produit, les chances de faire une erreur ou deux sont assez élevées.

Il faudrait alors encore plus de temps pour examiner le document et s’assurer qu’il était exempt d’erreurs.

Il doit y avoir une meilleure façon.

Bonne nouvelle : Il y en a ! Laissez-moi vous montrer comment nous l’avons fait.

Qu’est-ce qu’IMPORTXML ?

Entrez Google Sheets. J’aimerais que vous rencontriez la fonction IMPORTXML.

Selon la page d’assistance de Google, IMPORTXML « importe des données à partir de n’importe lequel des différents types de données structurées, notamment les flux XML, HTML, CSV, TSV, RSS et ATOM XML ».

Essentiellement, IMPORTXML est une fonction qui vous permet de récupérer des données structurées à partir de pages Web – aucune connaissance en codage n’est requise.

Par exemple, il est simple et rapide d’extraire des données telles que des titres de page, des descriptions ou des liens, mais également des informations plus complexes.

Comment IMPORTXML peut-il aider à récupérer des éléments d’une page Web ?

La fonction elle-même est assez simple et ne nécessite que deux valeurs :

  • L’URL de la page Web dont nous avons l’intention d’extraire ou de récupérer les informations.
  • Et le XPath de l’élément dans lequel les données sont contenues.

XPath signifie XML Path Language et peut être utilisé pour parcourir les éléments et les attributs d’un document XML.

Par exemple, pour extraire le titre de la page de https://en.wikipedia.org/wiki/Moon_landing, nous utiliserions :

=IMPORTXML(« https://en.wikipedia.org/wiki/Moon_landing », « //title »)

Cela renverra la valeur : Moon landing – Wikipedia.

Ou, si nous recherchons la description de la page, essayez ceci :

=IMPORTXML(“https://www.searchenginejournal.com/”,”//meta[@name=’description’]/@teneur »)

Méta description de la page d'accueil SEJ tirée avec IMPORTXML.

Voici une courte liste de certaines des requêtes XPath les plus courantes et les plus utiles :

  • Titre de la page : //titre
  • Méta description de la page : // méta[@name=’description’]/@teneur
  • Page H1 : //h1
  • Liens vers les pages : //@href

Voir IMPORTXML en action

Depuis la découverte d’IMPORTXML dans Google Sheets, il est véritablement devenu l’une de nos armes secrètes dans l’automatisation de bon nombre de nos tâches quotidiennes, de la création de campagnes et d’annonces à la recherche de contenu, et plus encore.

De plus, la fonction combinée à d’autres formules et modules complémentaires peut être utilisée pour des tâches plus avancées qui, autrement, nécessiteraient des solutions et un développement sophistiqués, tels que des outils construits en Python.

Mais dans ce cas, nous examinerons IMPORTXML dans sa forme la plus élémentaire : extraire les données d’une page Web.

Voyons un exemple pratique.

Imaginez qu’on nous demande de créer une campagne pour Search Engine Journal.

Ils aimeraient que nous annoncions les 30 derniers articles qui ont été publiés dans la section PPC du site Web.

Une tâche assez simple, pourrait-on dire.

Malheureusement, les éditeurs ne sont pas en mesure de nous transmettre les données et nous ont gentiment demandé de consulter le site internet pour trouver les informations nécessaires à la mise en place de la campagne.

Comme mentionné au début de notre article, une façon de procéder serait d’ouvrir deux fenêtres de navigateur – l’une avec le site Web et l’autre avec Google Sheets ou Excel. Nous commencerions alors à copier-coller les informations, article par article, et lien par lien.

Mais en utilisant IMPORTXML dans Google Sheets, nous pouvons obtenir le même résultat avec peu ou pas de risque de faire des erreurs, en une fraction du temps.

Voici comment.

Étape 1 : Commencez avec une nouvelle feuille de calcul Google

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

Commencez avec un document Google Sheets vierge.

Étape 2 : Ajoutez le contenu dont vous avez besoin pour gratter

Ajoutez l’URL de la page (ou des pages) dont nous voulons récupérer les informations.

Dans notre cas, nous commençons par https://www.searchenginejournal.com/category/pay-per-click/ :

Ajoutez l'URL de la page que vous voulez gratter.

Étape 3 : Trouver le XPath

Nous trouvons le XPath de l’élément dont nous voulons importer le contenu dans notre tableur de données.

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

Dirigez-vous vers Chrome. Une fois survolé le titre de l’un des articles, faites un clic droit et sélectionnez Inspecter.

Ouvrez l'outil Chrome WebDev.

Cela ouvrira la fenêtre Outils de développement Chrome :

Recherchez et copiez l'élément XPath que vous souhaitez extraire.

Assurez-vous que le titre de l’article est toujours sélectionné et mis en surbrillance, puis cliquez à nouveau avec le bouton droit et choisissez Copier > Copier XPath.

Étape 4 : Extrayez les données dans Google Sheets

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

=IMPORTXML(B1, »//*[starts-with(@id, ‘title’)]”)

Quelques points à noter :

Premièredans notre formule, nous avons remplacé l’URL de la page par la référence à la cellule où l’URL est stockée (B1).

Secondelors de la copie du XPath à partir de Chrome, celui-ci sera toujours placé entre guillemets.

(//*[@id=”title_1″])

Cependant, afin de s’assurer qu’il ne casse pas la formule, le signe des guillemets doubles devra être remplacé par le signe des guillemets simples.

(//*[@id=’title_1’])

Notez que dans ce cas, étant donné que le titre de l’ID de page change pour chaque article (titre_1, titre_2, etc.), nous devons modifier légèrement la requête et utiliser « commence par » afin de capturer tous les éléments de la page avec un ID qui contient ‘Titre.’

Voici ce que cela donne sur le document Google Sheets :

Un exemple d'IMPORTXML.

Et en quelques instants, voici à quoi ressemblent les résultats une fois que la requête a chargé les données sur la feuille de calcul :

Titres importés dans Google Sheets.

Comme vous pouvez le voir, la liste renvoie tous les articles qui sont présentés sur la page que nous venons de gratter (y compris mon article précédent sur l’automatisation et comment utiliser les personnalisateurs d’annonces pour améliorer les performances des campagnes Google Ads).

Vous pouvez également l’appliquer pour récupérer toute autre information nécessaire à la configuration de votre campagne publicitaire.

Ajoutons les URL de la page de destination, l’extrait de code de chaque article et le nom de l’auteur dans notre document Sheets.

Pour les URL des pages de destination, nous devons ajuster la requête pour spécifier que nous recherchons l’élément HREF attaché au titre de l’article.

Par conséquent, notre requête ressemblera à ceci :

=IMPORTXML(B1, »//*[starts-with(@id, ‘title’)]/@href »)

Maintenant, ajoutez ‘/@href’ à la fin du Xpath.

Importez les liens de l'article.

Voila ! On a tout de suite les URL des landing pages :

Articles et URL importés dans Google Sheets.

Vous pouvez faire de même pour les extraits en vedette et les noms d’auteur :

Toutes les données sont récupérées et importées dans Google Sheets.

Dépannage

Une chose à laquelle il faut faire attention est que pour pouvoir développer et remplir complètement la feuille de calcul avec toutes les données renvoyées par la requête, la colonne dans laquelle les données sont remplies doit avoir suffisamment de cellules libres et aucune autre donnée sur le chemin.

Cela fonctionne de la même manière que lorsque nous utilisons une ARRAYFORMULA, pour que la formule se développe, il ne doit y avoir aucune autre donnée dans la même colonne.

Conclusion

Et là, vous disposez d’un moyen entièrement automatisé et sans erreur d’extraire des données de (potentiellement) n’importe quelle page Web, que vous ayez besoin du contenu et des descriptions de produits, ou de données de commerce électronique telles que le prix des produits ou les frais d’expédition.

À une époque où les informations et les données peuvent être l’avantage nécessaire pour fournir des résultats supérieurs à la moyenne, la possibilité de supprimer des pages Web et du contenu structuré de manière simple et rapide peut être inestimable. De plus, comme nous l’avons vu ci-dessus, IMPORTXML peut aider à réduire les temps d’exécution et à réduire les risques d’erreurs.

De plus, la fonction n’est pas seulement un excellent outil qui peut être utilisé exclusivement pour les tâches PPC, mais peut être vraiment utile dans de nombreux projets différents qui nécessitent du scraping Web, y compris les tâches de référencement et de contenu.

Compte à rebours de Noël SEJ 2021 :

  • #12 – Le nouveau profil d’entreprise Google : un guide complet pour le référencement local
  • #11 – Comment automatiser le clustering de mots-clés SEO par intention de recherche avec Python
  • #10 – Familiarisez-vous avec Google Analytics 4 : un guide complet
  • #9 – 7 choses que j’aurais aimé savoir plus tôt dans ma carrière SEO
  • #8 – Un guide d’optimisation pour Google News, Top Stories et Discover
  • #7 – Clusters de mots-clés : comment améliorer votre stratégie de contenu SEO
  • #6 – Advanced Core Web Vitals : un guide SEO technique
  • #5 – Comment utiliser Google Sheets pour le scraping Web et la création de campagnes

Image en vedette : Aleutie/Shutterstock

LAISSER UN COMMENTAIRE

S'il vous plaît entrez votre commentaire!
S'il vous plaît entrez votre nom ici