Comment scraper les résultats des Jeux Olympiques sur Wikipedia en utilisant Google Sheet ?

Arrêtez de copier le net. Scrapez le.

 

Comment scraper les résultats des Jeux Olympiques sur Wikipedia en utilisant Google Sheet ?

google-sheet-scraping-dp0l25m

La collecte de données ou Web Scraping, demande souvent une installation lourde, et parfois laborieuse. Python 3, Scrapy, Beautiful Soup, Pupeeter.js. Autant d’outils techniques difficiles à utiliser, qui peuvent rebuter le néophyte. 

Dans ce tutoriel, nous allons réaliser la collecte de données la plus simple qui soit. En utilisant un outil collaboratif gratuit, et simple d’utilisation, que tout le monde possède, ou peut posséder en un clic. Il s’agit de l’indémodable outil de Google : Google Sheet !

Quelle page allons-nous scraper ?

Pour le bien de cette démonstration, nous allons utiliser un site à l’accès libre, à la structure simple, et connu de tous : Wikipedia.

Nous allons en particulier essayer de collecter l’ensemble des résultats sportifs des Jeux Olympiques modernes, par pays, et par catégorie à partir de cet URL : https://fr.wikipedia.org/wiki/Jeux_olympiques.

Voici le tableau, ici en tout petit, que l’on va essayer de récupérer, directement dans notre Google Sheet : 

wikipedia-google-sheet-scraping-p54uio3

Utiliser Google Sheet

Google Sheet est un outil largement répandu, et connu de nombre d’entre nous. Pour utiliser cet outil collaboratif et gratuit, suivez le lien suivant : https://www.google.com/sheets/about/.

Cliquez ensuite sur le gros bouton bleu, Go To Google Sheet.

wikipedia-google-sheet-scraping-p54uio4

Connectez-vous ensuite à votre compte Gmail. Cet étape est malheureusement indispensable, mais pas d’inquiétude, la création d’un tel compte est gratuit.

wikipedia-google-sheet-scraping-p54uio5

Enfin, cliquez sur le bouton « + » en haut à gauche. Et voilà ! Nous avons désormais entre nos mains un superbe outil, qui ressemble comme deux gouttes d’eau à l’outil développé par Microsoft, mais cette fois développé par Google : le Google Sheet.

wikipedia-google-sheet-scraping-p54uio6

ImportXML

Afin de réaliser un import nous allons utiliser une fonction clé : ImportXML. La fonction utilise deux variables distincts : 

wikipedia-google-sheet-scraping-p54uio7
Deux éléments, si proches l’un de l’autre

Obtenir le XPath

D’après Wikipedia, toujours, le XPath est un langage qui permet de localiser une portion d’un document Web. Pour récupérer simplement cet élément, on peut simplement utiliser la console du navigateur.

Rendez-vous sur l’URL cible, https://fr.wikipedia.org/wiki/XPath, à l’endroit où se trouve la table que nous souhaitons collecter, réaliser Clic droit > Inspecter > Clic droit sur l’élément (ici le tableau) > CopyCopy XPath.

Ici l’élément en question est la table, qui a pour classe : wikitable.

wikipedia-google-sheet-scraping-p54uio8

On obtient le résultat suivant : « //*[@id=’mw-content-text’]/div/table[2]/tbody//tr »

Pour aller plus loin sur les XPath, et être capable de récupérer n’importe quel élément sur une page web, nous vous invitons à consulter les très bons tutoriaux de W3 Schools : https://www.w3schools.com/xml/xpath_intro.asp.

Collecter la donnée

Nous allons maintenant renseigner les deux éléments au sein de la fonction ImportXML de notre Google Sheet. Puis appuyer sur la touche Entrée.

wikipedia-google-sheet-scraping-p54uio9
Deux jolies variables, toutes de vert vêtues

Google Sheet va ensuite collecter les résultats, et afficher cette superbe table, présente ci-dessous, avec l’ensemble des résultats au format d’une feuille de calcul prête à être utiliser. Pas si mal !

wikipedia-google-sheet-scraping-p53uio9

Limitations connues

Ce code peut extraire du texte depuis une page web simple et structuré. Toutefois, l’extraction de pages non structurées, d’éléments non textuels (images, musiques), la navigation sur les pages restent impossibles.

L’utilisation du XPath est par ailleurs difficile, et peut conduire à l’obtention de données inutilisables, et non structurées.

wikipedia-google-sheet-scraping-p55uio2
Aïe, le mauvais XPath…

Surtout, Google limitera le nombre de requêtes vers un site web, à environ 6000. Parfois même, il sera impossible de faire une requête vers un site web simple, comme Amazon.

wikipedia-google-sheet-scraping-p55uio3

Si vous avez besoin de professionnels pour collecter les données de sites complexes, contactez nous grâce au formulaire ci-dessous.

Avertissement: Tout code fourni dans nos tutoriels est destiné à des fins d’illustration et d’apprentissage uniquement. Nous ne sommes pas responsables de la façon dont il est utilisé et n’assumons aucune responsabilité pour toute utilisation préjudiciable du code source. La simple présence de ce code sur notre site n’implique pas que nous encourageons le scraping ou l’extraction de données des sites référencés dans le code et le tutoriel qui l’accompagne. Les tutoriels ne font qu’illustrer la technique de programmation des scrapers web pour les sites internet populaires. Nous ne sommes pas obligés de fournir un support pour le code, cependant, si vous ajoutez vos questions dans la section des commentaires, nous pouvons vous y répondre périodiquement.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *