Download as pdf or txt
Download as pdf or txt
You are on page 1of 14

MiniProject: Ứng dụng tra

cứu thông tin thời tiết


Mục tiêu

• Biết cách lấy dữ liệu thông qua API từ OpenWeather.


• Xử lý dữ liệu JSON với Python.

2
API là gì?
• API (application programming interface) là cơ chế cho phép 2
thành phần phần mềm giao tiếp với nhau bằng một tập hợp các
định nghĩa và giao thức.

• Kiến trúc API thường được giải thích dưới dạng máy chủ
(server) và máy khách (client). Ứng dụng gửi yêu cầu được gọi
là máy khách, còn ứng dụng gửi phản hồi được gọi là máy chủ.

3
API là gì? (tiếp)
API SOAP Các API này sử dụng Giao thức truy cập đối tượng đơn giản. Máy chủ và máy khách trao
đổi thông đệp bằng XML. Đây là loại API kém linh hoạt được dùng phổ biến trước đây
API RPC Những API này được gọi là Lệnh gọi thủ tục từ xa. Máy khách hoàn thành một hàm (hoặc
thủ tục) trên máy chủ còn máy chủ gửi kết quả về cho máy khách.
API REST Đây là loại API phổ biến và linh hoạt nhất trên web hiện nay. Máy khách gửi yêu cầu đến
máy chủ dưới dạng dữ liệu. Máy chủ dùng dữ liệu đầu vào từ máy khách này để bắt đầu
các hàm nội bộ và trả lại dữ liệu đầu ra cho máy khách
API Websocket API Websocket là một bản phát triển API web hiện đại khác sử dụng các đối tượng JSON
để chuyển dữ liệu. API WebSocket hỗ trợ hoạt động giao tiếp hai chiều giữa ứng dụng
máy khách và máy chủ. Máy chủ có thể gửi thông điệp gọi lại cho các máy khách được kết
nối, điều này khiến loại API này hiệu quả hơn API REST

4
API hoạt động

Ví dụ theo mô hình Client - Server

Dữ liệu từ API trả về thường có dạng XML hoặc JSON.

5
Open Weather API
• OpenWeatherMap là một dịch vụ trực
tuyến thuộc sở hữu của OpenWeather
Ltd, cung cấp dữ liệu thời tiết toàn cầu
thông qua API, bao gồm dữ liệu thời tiết
hiện tại, dự báo, chương trình truyền
hình hiện tại và dữ liệu thời tiết lịch sử.

6
Open Weather API (tiếp)
• Đường dẫn API: https://openweathermap.org/api

Bước 1: Tạo tài khoản


https://home.openweathermap.org/users/sign_up

Bước 2: Xem API Key

7
Open Weather API (tiếp)
Bước 2: Xem API Key

Mỗi tài khoản sẽ có 1 API mặc định, có thể tạo thêm API key
mới.

8
Lấy thông tin thành phố hiện tại – OpenWeather API

• Đường dẫn: https://openweathermap.org/current#name

• Tìm thử thông tin Hà Nội:


o city = hanoi
o api key = api key của bạn

9
Lấy thông tin thành phố hiện tại – OpenWeather API

Mở trình duyệt: => dán đường


dẫn trên vào trình duyệt.

https://api.openweathermap.org/data/2.5/
weather?q=hanoi&appid=928133397391e
6af373468b74849e7ab

Dữ liệu trả về dạng JSON


10
Làm việc với dữ liệu JSON trong Python
JSON (JavaScript Object Notation) là một định
dạng trao đổi dữ liệu nhẹ, dễ đọc và dễ viết.
JSON sử dụng các cặp "key-value" để biểu diễn
dữ liệu và có thể được lưu trữ và xử lý bằng các
ngôn ngữ lập trình khác nhau, bao gồm Python.

11
Làm việc với dữ liệu JSON trong Python

12
Luồng hoạt động
Request

Python App Response OpenWeather Cơ sở dữ liệu

Tạo request HTTP từ Python App => OpenWeather xử lý => Trả dữ liệu về => Xử lý kết quả nhận được

TH1: API key đúng


- Tìm thấy thành phố => bóc tách dữ liệu và hiển thị.
- Không tìm thấy thành phố => đưa ra thông báo
TH2: API key sai => đưa ra thông báo

13
Triển khai code
• Theo hướng dẫn của giảng viên

14

You might also like