Se connecter à une API avec Python
- Jul 17, 2025
- 4 min read
Les APIs
Les APIs (Application Programming Interfaces, ou interfaces de programmation d’applications) sont des points d’échange d’informations entre deux logiciels ou systèmes. Les APIs permettent par exemple à un développeur codant un programme, d’y incorporer des requêtes sur une application ou sur une base de données hébergée ailleurs. Grâce à une API, on peut exécuter des requêtes sur une application, sans la recoder en entier, ni même connaître son fonctionnement interne.
Il existe plusieurs types d’APIs, dont voici les plus courants :
Les APIs REST sont les plus simples. Elles sont très utilisées. Pour les utiliser, on utilise des requêtes HTTP avec la bibliothèque requests.
Les APIs GraphQL nécessitent un body JSON, en plus d’une requête POST avec requests.
Les APIs JSON-RPC sont utilisables de la même façon que les APIs GraphQL.
Les APIs SOAP n’utilisent pas les requêtes HTTP, mais reposent sur des fichiers XML et un fichier WSDL. Il vaut mieux utiliser la bibliothèque Python zeep pour les interroger.
Si vous souhaitez vous former aux APIs avec nos formateurs en CDI, n’hésitez pas à vous inscrire à nos formations Python à Paris, sur notre site expertpython.fr.
Requêtes HTTP
La bibliothèque Python requests permet d’interagir avec les APIs compatibles (en premier lieu les APIs REST), à l’aide de requêtes HTTP. Voici les requêtes HTTP les plus courantes, et les fonctions correspondantes dans la bibliothèque requests :
GET > requests.get()
Permet de lire et récupérer des données depuis un serveur.
Exemple :
response = requests.get("https://api.example.com/users/john-doe")
Obtient les informations de l’utilisateur John Doe.
POST > requests.post()
Permet de créer une ressource en envoyant des données vers un serveur.
Exemple :
data = {"name": "Alice", "email": "alice@example.com"}
response = requests.post("https://api.example.com/users", json=data)
Crée un nouvel utilisateur.
PUT > requests.put()
Permet de mettre-à-jour une ressource existante.
Exemple :
data = {"name": "Alice", "email": "new@example.com"}
response = requests.put("https://api.example.com/users/alice", json=data)
Met-à-jour les informations de l’utilisateur Alice.
DELETE > requests.delete()
Permet de supprimer une ressource du serveur.
Exemple :
response = requests.delete("https://api.example.com/users/alice")
Supprime l’utilisateur Alice.
Tutoriel d’interaction avec une API
Dans cet exemple, on va créer un projet Python, et intégrer dedans des requêtes sur l’API d’une base de données de l’INSEE nommée « Indices des prix à la consommation, correction des valeurs saisonnières, inflation sous-jacente », dont voici le lien :
Cette base de données contient les indices des prix à la consommation (IPC), ainsi que certains IPC corrigés (des variations saisonnières et de l’inflation), publiés mensuellement sur 35 ans.
Etape 1 : Création et set-up du projet Python
Tout d’abord, créons un projet Python. Plusieurs solutions sont possibles (PyCharm, Jupyter Notebook, Pyzo…). Dans ce tutoriel, on utilisera PyCharm.
On sélectionne le dossier de création du projet, et on clique sur le bouton ‘virtual environment’ (venv) :

Ensuite, on fait un clic droit sur le dossier que l’on vient de créer, et on crée un fichier python, qu’on nomme « api.py ».

Voici le fichier python « api.py » vierge :

Maintenant, téléchargeons les bibliothèques Python dont nous aurons besoin dans ce projet : on utilisera la bibliothèque requests pour interagir avec l’API, et la bibliothèque pandas pour organiser les résultats des requêtes en dataframes.
Pour ce faire, on ouvre un terminal à l’aide du bouton dans le panneau de gauche sur PyCharm :

Puis, on tape l’instruction suivante :

Etape 2 : Importer l’API
On commence par analyser la structure et le contenu de la base de données qu’on va interroger. Pour ce faire, on va sur la vue « Tableau » de la page :

Dans l’onglet « API » du même site, on trouve un aperçu des données qui seront envoyées au format JSON par l’API, lorsqu’on l’interrogera. On trouve aussi l’information principale : l’URL permettant d’appeler l’API.


Sur le lien suivant, on trouve la liste des ‘facets’, c’est-à-dire des colonnes de la base de données sur lesquelles on peut faire du filtrage :
Grâce à toutes ces informations, on peut commencer notre projet python. Tout d’abord, on réalise les imports des bibliothèques Python, et on crée une variable pour contenir l’URL de l’API et le nom de la base de données :

Etape 3 : Code de notre application
Maintenant, on code une fonction qui va effectuer un GET et récupérer les données renvoyées par l’API. On choisit de filtrer par année, zone géographique, secteur, type, sous_type, base de calcul et population. Les valeurs par défaut permettent de ne pas spécifier toutes les valeurs à chaque fois.

Ensuite, on convertit les résultats de la requête GET en dataframe pandas, avec la fonction suivante :

Enfin, dans la fonction « main() », on utilise les fonctions créées plus haut pour mettre en place une logique de filtrage interactif : dans la console, l’utilisateur pourra taper des valeurs pour l’année, la zone géographique ou le secteur, afin de filtrer la base de données. Le résultat de l’exécution de notre application est l’affichage des 10 premières lignes d’un dataframe pandas.

Voici un exemple d’exécution de l’application python :

--
Retrouvez d'autres contenus, et toutes nos formations sur : https://www.expertpython.fr/



Một khía cạnh khác của s8 mà tôi quan sát là khả năng duy trì cách trình bày tương đối rõ ràng khi hệ thống có nhiều nội dung. Phần casino không chỉ xuất hiện như một danh mục lớn mà còn được phân thành các bàn và lựa chọn cụ thể. Slot lại đi theo hướng chủ đề, bắn cá giữ không gian riêng, trong khi game bài được tách khỏi những dòng nội dung còn lại. Khu thể thao có cách hiển thị phù hợp với việc theo dõi sự kiện và bộ môn. Bên cạnh đó, tài khoản và hỗ trợ được đặt ở những vị trí dễ nhận biết. Cấu trúc này giúp tôi dễ xác định…
Trong quá trình tìm hiểu các nền tảng giải trí trực tuyến, new88 mang đến cho mình cảm giác khá trực quan trong cách tổ chức hệ thống trò chơi. Các khu vực như bắn cá, nổ hũ, game bài đổi thưởng, thể thao và casino trực tuyến được phân chia rõ ràng giúp việc tiếp cận từng nội dung trở nên thuận tiện hơn. Mình nhận thấy giao diện có sự cân bằng giữa hình ảnh và thông tin, tạo cảm giác dễ quan sát trong quá trình sử dụng lâu dài. Khi trải nghiệm nhiều chuyên mục khác nhau, tốc độ phản hồi của hệ thống duy trì khá ổn định, thao tác chuyển đổi diễn ra mượt mà…
Khi xem 78 win ở góc độ điều hướng, mình thấy sự nhất quán giữa các khu là yếu tố khá quan trọng. Thể thao, xổ số và casino đều có cách dùng khác nhau, nhưng người dùng vẫn cần cảm giác quen khi chuyển trang. Mình thử xổ số qua Keno và kết quả trực tiếp để xem phần thông tin có đủ rõ không. Khu này không cần quá nhiều hiệu ứng, chỉ cần bố cục gọn để người dùng theo dõi nhanh. Ngoài ra, giao diện tinh gọn giúp các bước chuyển mục ít bị rối. Với mình, điều hướng ổn là khi mỗi khu khác nhau nhưng cách thao tác vẫn giữ được sự quen thuộc.
ผมคิดว่าการประเมิน https://f168.me/ จากภาพรวมของระบบน่าสนใจกว่าการดูเพียงเกมใดเกมหนึ่ง จึงลองเปิดหลายหมวดสลับกัน ทั้งบัญชี ธุรกรรม คาสิโน กีฬา และสล็อต สิ่งที่สังเกตได้คือทุกส่วนใช้แนวทางการจัดวางที่ค่อนข้างสอดคล้องกัน ทำให้เมื่อกลับมาใช้งานอีกครั้งยังจำตำแหน่งเมนูต่าง ๆ ได้โดยไม่ต้องค้นหาใหม่ สำหรับผม ความเป็นระเบียบและความต่อเนื่องของโครงสร้างระบบคือสิ่งที่ค่อย ๆ เห็นชัดขึ้นหลังจากใช้งานไประยะหนึ่ง
Khi khảo sát cách người dùng di chuyển trong https://rr88.select/ , mình quan tâm đến cảm giác chuyển đổi giữa các chuyên mục hơn là số lượng nội dung. Mình thử nhìn casino, nổ hũ và game bài để xem các khu này có tạo cảm giác quá giống nhau không. Trong đó, casino có thể khai thác rõ hơn qua baccarat và blackjack, vì đây là những trò giúp người dùng hình dung nhanh phong cách bàn chơi trực tiếp. Nổ hũ và game bài chỉ cần xuất hiện như hai lựa chọn bổ sung trong hệ sinh thái. Cá nhân mình thấy cách phân chia như vậy làm trải nghiệm dễ quan sát hơn, nhất là với người muốn…