Documentation des requêtes 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=*
Récupérer toutes les informations du dépôt CSMA2015
https://api.archives-ouvertes.fr/search/CSMA2015/?rows=10000&fl=*
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']))