sian:2022:apihal

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
sian:2022:apihal [2022/12/13 11:03] – [Récupération en python] fabien.ricosian:2022:apihal [2022/12/13 23:11] (Version actuelle) – [Visualisation de données] fabien.rico
Ligne 10: Ligne 10:
  
   * Quel paramètres de requêtes faudrait-il envoyer pour obtenir les différents mots clefs utilisés cette année dans les articles déposés ?   * Quel paramètres de requêtes faudrait-il envoyer pour obtenir les différents mots clefs utilisés cette année dans les articles déposés ?
 +
 +<hidden>
 +Le plus simple pour cela est d'utiliser les ''facets'' c'est à dire de faire une requète avec les parametre suivant:
 +
 +<code>
 +q=submittedDateY_i:2022
 +fl=keyword_s,submittedDateY_i
 +wt=json
 +facet=true
 +facet.field=keyword_s
 +</code>
 +
 +Ce qui donne l'url [[https://api.archives-ouvertes.fr/search/?q=submittedDateY_i:2022&fl=keyword_s,submittedDateY_i&wt=json&facet=true&facet.field=keyword_s|]]
 +</hidden>
  
 ===== Récupération en python ===== ===== Récupération en python =====
Ligne 18: Ligne 32:
  
   * En utilisant''requests'', téléchargez les informations de l'ensemble des articles du laboratoire ELICO. Affichez les titres et les auteurs. Enfin, stockez le résultat dans un fichier.   * En utilisant''requests'', téléchargez les informations de l'ensemble des articles du laboratoire ELICO. Affichez les titres et les auteurs. Enfin, stockez le résultat dans un fichier.
-  * Faire un résumé graphique de ces donnéespar exempleun camembert affichant le nombre d'article par personneun diagramme avec le nombre d'article par an... +  
-  * + 
 + 
 +<hidden Correction de la première question> 
 +Le notebook peux être trouvé ici: 
 +[[https://jupyter.imst.os.univ-lyon1.fr/hub/user-redirect/lab/tree/public/api_hall.ipynb]] 
 + 
 +Voici son code 
 +<code> 
 +#!/usr/bin/env python 
 +# coding: utf-8 
 + 
 +# # Utilisation de request 
 + 
 +# In[31]: 
 + 
 + 
 +import requests 
 +import json 
 +import pandas as pd 
 + 
 + 
 +# In[59]: 
 + 
 +parametres = { 
 +    "q":"labStructAcronym_s:ELICO", 
 +    "wt":"json", 
 +    "fl":"authFullName_s,title_s", 
 +    "rows": 10000 
 +
 + 
 + 
 +# In[60]: 
 + 
 +r = requests.get('https://api.archives-ouvertes.fr/search/', params=parametres) 
 + 
 + 
 +# In[64]: 
 + 
 +resultat = r.json() 
 +liste_reps = resultat["response"]["docs"
 +# print(liste_reps) 
 + 
 +# In[71]: 
 + 
 +result = [] 
 +for rep in liste_reps: 
 +    elem = {} 
 +    elem["titre"] = rep["title_s"][0] 
 +    elem["nbAuteur"] = len(rep["authFullName_s"]) 
 +    elem["auteurs"] = rep["authFullName_s"
 +#    print(elem) 
 +    result.append(elem) 
 +     
 +df = pd.DataFrame(result) 
 + 
 + 
 +# In[72]: 
 + 
 + 
 +df 
 + 
 + 
 +# In[78]: 
 + 
 +df.to_excel("article_elico.xlsx"
 + 
 +# In[79]: 
 + 
 +df.to_csv("article_elico.csv"
 + 
 + 
 +</code> 
 + 
 +</hidden> 
 + 
 + * Utilisez les facettes pour obtenir 
 +   le nombre d'article par an, 
 +   le nombre d'article par auteur. 
 + 
 + 
 +===== Visualisation de données ===== 
 + 
 +Nous allons utiliser la librairie [[https://plotly.com/python/|plotly]] pour afficher les résultats. 
 + 
 +  * Affichez le nombre d'articles par an sous la forme d'un [[https://plotly.com/python/line-charts/|line-chart]] 
 +  * Affichez le nombre d'articles par auteur sous la forme d'un [[https://plotly.com/python/bar-charts/|bar-chart]]  
 + 
  
  
    
  • sian/2022/apihal.1670925803.txt.gz
  • Dernière modification : 2022/12/13 11:03
  • de fabien.rico