diff --git a/datacite-clients.py b/datacite-clients.py new file mode 100644 index 0000000000000000000000000000000000000000..ea800f940482133a1f65a4d0f3fbde5c1d5ae791 --- /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]