Newer
Older
# 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]