API en Python
  • Back to Main Website
  • Home
  • Introduction aux API
    • Introduction aux API
    • API - Définition
    • Utiliser une API
    • Créer une API
    • Sécuriser une API
    • Concepts élargis

    • Travaux Pratiques
    • TP - Premiere requêtes
  • Consommation avancée d’API
    • Consommation avancée d’API
    • Protocols de communication
    • Authentification et sécurité des API
    • Optimisation des ressources et de la performance des API

    • Travaux Pratiques
    • TP : Comparaison des performances des appels en tant qu’utilisateur
  • Communication entre Processus (IPC)
    • Communication entre Processus (IPC)
    • Introduction à l’IPC
    • Sockets
    • Fichiers et IPC
    • Shared Memory
    • Pipes
    • gRPC
    • Conclusions

    • Travaux Pratiques
    • TP3 Option 1 Service gRPC pour indicateurs de marché
    • TP3 Option 2 Serveur de Données de Marché via Socket et Mémoire Partagée
  • Conception d’APIs
    • Conception d’APIs
    • Introduction à la Conception d’APIs
    • Les principaux Frameworks d’APIs en Python
    • Fast API
    • Django REST Framework
    • Tester et documenter une API
    • Bonne pratique générale
    • Conclusion

    • Travaux Pratiques
    • TP 4 : API d’Indicateurs Financiers avec Gestion des Niveaux d’Accès
  • Déploiement d’API - Principes Généraux et Mise en Pratique avec Heroku
    • Déploiement d’API - Principes Généraux et Mise en Pratique avec Heroku
    • Introduction au Déploiement d’API
    • Heroku - Présentation du service
    • Meilleurs Pratiques avant un déploiement
    • Deploiement sur Heroku
    • Déploiement avancé
    • Bonus - Nom de Domaine
    • Conclusion
  • Sujets de Projets possibles
    • Projets
    • M2EIF Quant 2023/2024
    • M2EIF Quant 2024/2025
  • Code source
  1. Travaux Pratiques
  2. TP - Premiere requêtes
  • Introduction aux API
  • API - Définition
  • Utiliser une API
  • Créer une API
  • Sécuriser une API
  • Concepts élargis
  • Travaux Pratiques
    • TP - Premiere requêtes

On this page

  • Faire une requête API en utilisant Python
    • 1 Exemple de base
    • 2 . Exercice pratique: Accéder à des informations via une requête intermédiaire
    • 3 Exercice :
  1. Travaux Pratiques
  2. TP - Premiere requêtes

TP - Premiere requêtes

TP
Introduction
Author

Remi Genet

Published

2024-12-10

Faire une requête API en utilisant Python

1 Exemple de base

Objectif: Utiliser Python pour effectuer des requêtes API et exploiter les données reçues.

Instructions:

  1. Installation de requests: Si vous ne l’avez pas encore installé, requests est un module Python permettant d’envoyer des requêtes HTTP facilement. Installez-le via pip :

    pip install requests
  2. Effectuer une requête simple en Python: Utilisons la bibliothèque requests pour effectuer une requête GET, comme nous l’avons fait dans Postman.

    import requests
    
    response = requests.get("https://api.publicapis.org/entries")
    data = response.json()
    
    # Imprimer les premiers 10 entrées
    for entry in data['entries'][:10]:
        print(entry['API'], "-", entry['Description'])
  3. Utilisation d’une requête précédente: Réutilisez une des requêtes que vous avez effectuées dans Postman. Par exemple, si vous avez filtré les APIs de la catégorie “finance”, faites la même chose en Python :

    response = requests.get("https://api.publicapis.org/entries?category=finance")
    finance_data = response.json()
    
    for entry in finance_data['entries']:
        print(entry['API'], "-", entry['Description'])

2 . Exercice pratique: Accéder à des informations via une requête intermédiaire

Objectif: Apprendre à utiliser une réponse d’API comme entrée pour une autre requête et lire une doc API

Contexte: Nous allons utiliser l’API CoinGecko. La première requête nous permettra de récupérer une liste d’identifiants de cryptomonnaies, puis nous utiliserons ces identifiants pour obtenir des informations détaillées sur une cryptomonnaie spécifique.

Instructions:

  1. Récupération des identifiants de cryptomonnaies: Effectuez une requête pour obtenir une liste d’identifiants de cryptomonnaies.

    url = "https://api.coingecko.com/api/v3/coins/list"
    response = requests.get(url)
    coins = response.json()
    
    # Imprimer les premiers 10 noms de cryptomonnaies et leurs identifiants
    for coin in coins[:10]:
        print(coin['id'], "-", coin['name'])
  2. Obtenir des informations détaillées sur une cryptomonnaie: En utilisant un identifiant précédemment obtenu, effectuez une autre requête pour obtenir des informations détaillées sur cette cryptomonnaie.

    coin_id = "bitcoin"  # Remplacez ceci par un autre identifiant si vous le souhaitez
    detailed_url = f"https://api.coingecko.com/api/v3/coins/{coin_id}"
    detailed_response = requests.get(detailed_url)
    coin_details = detailed_response.json()
    
    
    # Imprimer des informations clés
    print(coin_details['name'])
    print("Valeur actuelle:", coin_details['market_data']['current_price']['usd'], "USD")

3 Exercice :

En utilisant la documentation se trouvant ici https://www.coingecko.com/api/documentation, répondez aux questions suivante :

  1. Volume quotidien moyen du BTC et de l’ETH en USDT, USDC, USD et EUR

    Objectif: Calculez et présentez le volume quotidien moyen des transactions pour le BTC et l’ETH dans les devises suivantes : USDT, USDC, USD et EUR.

  2. Même donnée pour les 10 cryptomonnaies les plus liquides après BTC et ETH

    Objectif: Sélectionnez les 10 cryptomonnaies suivantes en terme de capitalisation de marché après le BTC et l’ETH. Calculez et présentez leur volume quotidien moyen dans les devises : USDT, USDC, USD et EUR.

  3. Top 3 des cryptomonnaies les plus liquides contre BTC et ETH comme devises de cotation, avec volume

    Objectif: Identifiez les trois cryptomonnaies qui ont le plus grand volume de transaction lorsqu’elles sont cotées en BTC ou ETH (par exemple: ADA/BTC, XRP/ETH). Présentez le volume pour chaque paire.

  4. Top 3 des stablecoins les plus liquides comme devises de cotation, avec volume

    Objectif: Identifiez les trois stablecoins qui ont le plus grand volume de transaction lorsqu’ils sont utilisés comme devises de cotation (par exemple: xxx/USDT, xxx/USDC, xxx/TUSD). Présentez le volume pour chaque paire.

  5. Creer une fonction permetant pour un actif donnée de récupérer les parts de marché des différents exchange sur les 24 dernières heures

Back to top
Concepts élargis

Python API, Rémi Genet.
Licence
Code source disponible sur Github

 

Site construit avec et Quarto
Inspiration pour la mise en forme du site ici
Code source disponible sur GitHub