TP - Premiere requêtes
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:
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
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 = requests.get("https://api.publicapis.org/entries") response = response.json() data # Imprimer les premiers 10 entrées for entry in data['entries'][:10]: print(entry['API'], "-", entry['Description'])
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 :
= requests.get("https://api.publicapis.org/entries?category=finance") response = response.json() finance_data 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:
Récupération des identifiants de cryptomonnaies: Effectuez une requête pour obtenir une liste d’identifiants de cryptomonnaies.
= "https://api.coingecko.com/api/v3/coins/list" url = requests.get(url) response = response.json() coins # Imprimer les premiers 10 noms de cryptomonnaies et leurs identifiants for coin in coins[:10]: print(coin['id'], "-", coin['name'])
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.
= "bitcoin" # Remplacez ceci par un autre identifiant si vous le souhaitez coin_id = f"https://api.coingecko.com/api/v3/coins/{coin_id}" detailed_url = requests.get(detailed_url) detailed_response = detailed_response.json() coin_details # 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 :
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.
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.
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.
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.
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