Trong hướng dẫn này, chúng ta sẽ lấy thông tin thời tiết của một thành phố sử dụng OpenWeatherMap API. Để sử dụng API này, chúng ta cần lấy khóa API bằng cách tạo tài khoản trên trang web của họ.
Tạo tài khoản và lấy API Key của bạn. Miễn phí cho đến 60 cuộc gọi mỗi phút. Bạn phải trả phí nếu muốn nhiều hơn. Đối với hướng dẫn này, phiên bản miễn phí là đủ. Chúng ta cần mô-đun requests cho yêu cầu HTTP và mô-đun json để xử lý phản hồi. Làm theo các bước dưới đây để lấy thời tiết của bất kỳ thành phố nào:
Nhập các mô-đun
requestsvàjson.Khởi tạo URL cơ sở của API thời tiết:
https://api.openweathermap.org/data/2.5/weather?.Khởi tạo tên thành phố và API key.
Cập nhật URL cơ sở với API key và tên thành phố.
Gửi yêu cầu GET sử dụng phương thức
requests.get().Trích xuất thông tin thời tiết từ phản hồi sử dụng mô-đun JSON.
Ví dụ
Xem mã dưới đây:
# nhập requests và json
import requests, json
# URL cơ sở
BASE_URL = "https://api.openweathermap.org/data/2.5/weather?"
# Tên thành phố
THANH_PHO = "Ha_Noi"
# API key
API_KEY = "API_KEY_CUA_BAN"
# cập nhật URL
URL = BASE_URL + "q=" + THANH_PHO + "&appid=" + API_KEY
# yêu cầu HTTP
phan_hoi = requests.get(URL)
# kiểm tra mã trạng thái của yêu cầu
if phan_hoi.status_code == 200:
# lấy dữ liệu ở định dạng json
du_lieu = phan_hoi.json()
# lấy khối main
main = du_lieu['main']
# lấy nhiệt độ
nhiet_do = main['temp']
# lấy độ ẩm
do_am = main['humidity']
# lấy áp suất
ap_suat = main['pressure']
# báo cáo thời tiết
bao_cao = du_lieu['weather']
print(f"{THANH_PHO:-^30}")
print(f"Nhiệt độ: {nhiet_do}")
print(f"Độ ẩm: {do_am}")
print(f"Áp suất: {ap_suat}")
print(f"Báo cáo thời tiết: {bao_cao[0]['description']}")
else:
# hiển thị thông báo lỗi
print("Lỗi trong yêu cầu HTTP")
Kết quả
Nếu bạn chạy chương trình trên, bạn sẽ nhận được kết quả sau:
----------Ha_Noi----------- Nhiệt độ: 295.39 Độ ẩm: 83 Áp suất: 1019 Báo cáo thời tiết: mist
Kết luận
Nếu bạn gặp bất kỳ khó khăn nào khi làm theo hướng dẫn, hãy để lại bình luận bên dưới.