Skip to content
Snippets Groups Projects
datacite-clients.py 880 B
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]