10 Enrichissement de données à partir d’API

Nombreux tutoriels. Voir en français 2 vidéos d’E. Rizza: - Web scraping dynamique avec Open Refine - interroger Wikipedia sans programmation

Démonstration

Récupérer la population des villes de Le Havre, Nice et Aix-en-Provence à partir de l’API https://geo.api.gouv.fr/

La syntaxe de l’API est https://geo.api.gouv.fr/communes?nom=NOMDECOMMUNE

La réponse de l’API est au format JSON : tableau de X villes dont le nom correspond à la requête (avec un degré de précision). Chaque ville est un objet JSON doté de plusieurs propriétés, dont population

Exemple pour une recherche sur “Nice” : https://geo.api.gouv.fr/communes?nom=Nice

L’API retourne un tableau (entre crochets) de 3 villes (Nice, Nicey, Nicey-sur-Aire), la plus probable (à 75,99%) étant la 1re, Nice.

Chaque ville est un objet (entre accolades) comprenant 7 propriétés, comprenant soit valeurs numériques, textuelles (entre guillemets) ou sous forme de tableau (pour les codes postaux)

La propriété population du 1er objet (correspondant à la ville de Nice) est la valeur numérique 342295

En partant du principe que la 1re ville du tableau est bien celle qui nous intéresse, sa population peut donc être récupérée en extrayant la valeur de la propriété population du 1er objet du tableau.

  • 1re étape : Créer un projet d’une colonne avec les noms des trois villes
  • 2e étape : Créer une colonne liste-urls contenant les URL

Colonne villes > Éditer colonne > Ajouter une colonne en fonction de cette colonne

Formule : “Racine_URL” + value.escape(‘url’)

(escape() évite les erreurs en cas de présence de caractères “parasites” comme un espace)

  • 3e étape : Récupérer les données dans une colonne data

Colonne liste-urls > Éditer colonne > Ajouter une colonne en moissonnant les URL

  • 4e étape : Exploitation des données : créer une nouvelle colonne à partir de data

Colonne data > Éditer colonne > Ajouter une colonne à partir de cette colonne

Formule : value.parseJson()[0]["population"]

Autre exemple : utilisation du service SRU de la BNF pour récupérer des informations sur un document

voir https://bibliopedia.fr/wiki/Alignement_de_wikidata_avec_le_catalogue_de_la_BnF#Enrichissement_du_fichier_via_SRU