Hướng dẫn tạo api bằng python

Hướng dẫn tạo api bằng python

Tìm hiểu về API trong Python

Có một số lý do giải thích tại sao chúng ta cần sử dụng API thay vì tập dữ liệu CSV tĩnh mà bạn có thể tải xuống từ web. Một trong những lý do đầu tiên là sự thay đổi nhanh chóng của dữ liệu. Một ví dụ phổ biến là dữ liệu về giá cổ phiếu. Việc tạo tập dữ liệu và tải xuống mỗi phút không thực sự hợp lý và sẽ tốn rất nhiều thời gian và hiệu suất làm việc. Lý do thứ hai liên quan đến các tính toán lặp lại và cuối cùng là một số vấn đề liên quan đến tệp dữ liệu. Trong những lý do trên, việc sử dụng API là giải pháp phù hợp và hợp lý nhất.

>>> Xem thêm: Khóa học lập trình Python

API là gì?

API - Application Programming Interface là giao diện lập trình ứng dụng, một máy chủ mà bạn có thể sử dụng để truy xuất và gửi dữ liệu đến bằng cách sử dụng mã, API được sử dụng phổ biến nhất để truy xuất dữ liệu và đó là một trong những điều cơ bản nhất mà người mới học lập trình cần phải biết. 

Khi bạn muốn nhận dữ liệu từ API, bạn cần gửi một yêu cầu. Yêu cầu này được sử dụng trên toàn bộ các web, Ví dụ, khi bạn ghé thăm một blog, trình duyệt web của bạn sẽ thực hiện một yêu cầu đến máy chủ web Dataquest, máy chủ này sẽ phản hồi bằng nội dung của trang web này. Các yêu cầu API hoạt động theo cùng một mô hình như sau - bạn đưa ra yêu cầu tới máy chủ API về dữ liệu và nó sẽ phản hồi lại yêu cầu của bạn.

Đưa ra yêu cầu API trong Python

Để làm việc cùng các API trong Python, ta cần các công cụ thực hiện các yêu cầu đó. Trong Python, bạn có thể sử dụng thư viện yêu cầu (request library) để thực hiện các yêu cầu và làm việc với APIs. Thư viện yêu cầu không phải là một phần của các thư viện tiêu chuẩn trong Python nên bạn sẽ cần cài đặt chúng để bắt đầu.

Nếu bạn sử dụng pip để quản lý các gói Python, bạn sẽ cần cài đặt các yêu bằng bằng cách sử dụng lệnh sau:

pip install requests

Nếu bạn sử dụng conda, lệnh bạn cần sẽ như sau:

conda install requests

Sau khi cài đặt xong thư viện, bạn sẽ cần nhập các yêu cầu, bắt đầu bằng lệnh sau:

import requests

Sau khi đã cài đặt và nhập thư viện yêu cầu, bạn đã có thể sử dụng nó.

>>> Xem thêm bài viết: Giải mã lớp và đối tượng trong Pythoncho người mới bắt đầu

Làm việc với dữ liệu JSON bằng Python

JSON (JavaScript Object Notation) là ngôn ngữ của APIs. JSON là một cách để mã hóa cấu trúc dữ liệu đảm bảo rằng chúng có thể dễ dàng đọc được bởi máy. JSON là định dạng chính trong đó dữ liệu được truyền qua lại tới các API và hầu hết các máy chủ API sẽ gửi lại phản hồi ở dạng JSON.

Bạn sẽ thấy JSON output mà mình nhận được từ API giống như nó chứa từ điển Python, các danh sách, chuỗi và số nguyên. bạn cũng có thể coi JSON là sự kết hợp của các đối tượng này được biểu diễn dưới dạng chuỗi. Ví dụ:

Python có gói hỗ trợ JSON cùng với các gói json. Gói json là một phần của thư viện tiêu chuẩn nên bạn sẽ không cần phải cài đặt nó. Bạn có thể chuyển đổi lists và thư viện sang JSON, và chuyển đổi các chuỗi sang list và thư viện. 

Thư viện JSON có hai chức năng chính:

  • json.dumps() - đưa đối tượng Python vào và chuyển đối (kết xuất) nó thành một chuỗi
  • json.loads () - lấy một chuỗi JSON và chuyển đổi nó thành một đối tượng Python. 

Các dumps()chức năng đặc biệt hữu ích khi chúng ta sử dụng nó để in một chuỗi định dạng mà làm cho nó dễ dàng hơn để  hiểu các đầu ra JSON, như trong biểu đồ chúng ta đã thấy ở trên: 

import json

def jprint(obj):

    # create a formatted string of the Python JSON object

    text = json.dumps(obj, sort_keys=True, indent=4)

    print(text)

jprint(response.json())

{

    "message": "success",

    "number": 3,

    "people": [

        {

            "craft": "ISS",

            "name": "Alexey Ovchinin"

        },

        {

            "craft": "ISS",

            "name": "Nick Hague"

        },

        {

            "craft": "ISS",

            "name": "Andrew Morgan"

        }

    ]

}

Bằng việc sử dụng dumps, ngay lập tức ta có thể hiểu cấu trúc dữ liệu một cách dễ dàng hơn. Trong ví dụ trên, ta có thể thấy tên 3 người xuất hiện dưới dạng từ điển trong list. 

Kết luận: Trên đây là một số bước để bạn bắt đầu với API trong Python. Các bước cơ bản này sẽ giúp bạn bắt đầu làm việc với các API. Hãy nhớ rằng chìa khóa cho mỗi lần bạn sử dụng API là đọc kỹ tài liệu API và sử dụng tài liệu đó để hiểu các yêu cầu cần thực hiện và thông số cần cung cấp.