From 81ec7429fbbe8d61a2c6f84efe1f15f4d1a448a6 Mon Sep 17 00:00:00 2001 From: Elias Chetouane <elias.chetouane@univ-grenoble-alpes.fr> Date: Thu, 15 Feb 2024 15:49:38 +0100 Subject: [PATCH] Script pour obtenir des infos sur les clients datacite. --- datacite-clients.py | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 datacite-clients.py diff --git a/datacite-clients.py b/datacite-clients.py new file mode 100644 index 0000000..ea800f9 --- /dev/null +++ b/datacite-clients.py @@ -0,0 +1,31 @@ +# récupérer des informations sur les clients DataCite +## 2024-02-15, Elias Chetouane + +""" +## Doc +* datacite API : https://support.datacite.org/docs/api +* pagination : https://support.datacite.org/docs/pagination +""" + +import requests + +# url pour obtenir la liste des clients datacite +url = "https://api.datacite.org/clients?page[size]=100" + +# obtenir les résultats de la première page dans la liste "data" +req = requests.get(url) +data = req.json()["data"] + +# obtenir les résultats pour chaque page +nb_pages = req.json()["meta"]["totalPages"] +page = 1 +while(page < nb_pages): + # définir le nouvel url à requeter + url = req.json()["links"]["next"] + req = requests.get(url) + # mettre tous les clients dans une seule liste "data" + data += req.json()["data"] + page += 1 + +with open("datacite-clients.txt", 'w') as f : + [f.write(f"{line}\n") for line in data] -- GitLab