Lecture des métadonnées depuis DOI.org#
Dans ce notebook, nous allons accéder aux métadonnées des enregistrements sur https://doi.org .
import requests
import json
Pour cela, nous écrivons une petite fonction auxiliaire.
def read_doi(doi):
"""
Reads meta data of records in doi.org.
"""
doi = doi.replace("https://doi.org/", "")
url = "https://doi.org/api/handles/" + doi
# Download the file
response = requests.get(url)
data = response.json()
return data
Nous pouvons ensuite appeler la fonction et stocker les résultats dans un objet data.
data = read_doi("https://doi.org/10.5281/zenodo.3833824")
data
{'responseCode': 1,
'handle': '10.5281/zenodo.3833824',
'values': [{'index': 100,
'type': 'HS_ADMIN',
'data': {'format': 'admin',
'value': {'handle': '10.admin/codata',
'index': 300,
'permissions': '111111111111'}},
'ttl': 86400,
'timestamp': '2020-05-19T10:28:11Z'},
{'index': 1,
'type': 'URL',
'data': {'format': 'string', 'value': 'https://zenodo.org/record/3833824'},
'ttl': 86400,
'timestamp': '2020-05-19T10:28:11Z'}]}
Cet objet json est composé de dictionnaires et de listes Python. Nous pouvons naviguer à travers ceux-ci et extraire des informations.
data['values'][0]
{'index': 100,
'type': 'HS_ADMIN',
'data': {'format': 'admin',
'value': {'handle': '10.admin/codata',
'index': 300,
'permissions': '111111111111'}},
'ttl': 86400,
'timestamp': '2020-05-19T10:28:11Z'}
Exercice#
Trouvez le(s) auteur(s) du DOI ci-dessus.