====Documentation==== [[https://api.archives-ouvertes.fr/docs|Documentation des requêtes]] {{ :web:api:archiveouverte:doc_api.archives-ouvertes.fr-2020-01-06.zip |Archive le 06/01/2020}} Par défaut, seuls les champs ''docid'' et ''label_s'' sont renvoyés. Pour tous les renvoyer, il faut utiliser l'option ''fl=*'' ====Exemples==== Récupérer toutes les informations du dépôt [[https://hal.archives-ouvertes.fr/CSMA2015|CSMA2015]] https://api.archives-ouvertes.fr/search/CSMA2015/?rows=10000&fl=* ====Scripts python==== * Télécharger les documents liés à un résultat import json import re import urllib import urllib.request import os.path #Chemin où sont enregistré les résultats des requêtes au format JSON folder = 'C:\\temp' # JSON contenant les résultats des requêtes for annee in ['2005.json', '2007.json', '2009.json', '2011.json', '2013.json', '2015.json']: with open(folder + annee, 'r', encoding='utf-8') as f: distros_dict = json.load(f) regex_num = re.compile('.*hal-(\d+).*') for distro1 in distros_dict['response']['docs']: vide = True for fichiertype in ['files_s', 'fileAnnexes_s']: if fichiertype in distro1: for files in distro1[fichiertype]: vide = False title_search = regex_num.search(files) filename = files[files.rfind("/") + 1:] # On ajoute au nom du fichier le numéro HAL. newfilename = folder + annee + '-\\' + title_search.group(1) + '-' + filename if not os.path.isfile(newfilename): try: urllib.request.urlretrieve(files, newfilename) except urllib.error.HTTPError: print('Impossible de télécharger ' + files) if vide: print('Pas de fichiers pour ' + str(distro1['docid']))