Computer >> Máy Tính >  >> Lập trình >> Python

Tìm thời tiết hiện tại của bất kỳ thành phố nào bằng API OpenWeatherMap bằng Python

Trong hướng dẫn này, chúng ta sẽ xem thời tiết của một thành phố bằng cách sử dụng OpenWeatherMap API. Để sử dụng API OpenWeatherMap, chúng ta phải lấy khóa API. Chúng tôi sẽ lấy nó bằng cách tạo một tài khoản trên trang web của họ.

Tạo tài khoản và nhận Khóa API của bạn. Nó miễn phí cho đến 60 cuộc gọi mỗi phút. Bạn phải trả tiền nếu bạn muốn nhiều hơn thế. Đối với hướng dẫn này, phiên bản miễn phí là đủ. Chúng tôi cần yêu cầu mô-đun cho các yêu cầu HTTP và JSON mô-đun để làm việc với phản hồi. Làm theo các bước dưới đây để biết thời tiết của bất kỳ thành phố nào.

  • Nhập các yêu cầu và mô-đun 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 thành phố và khóa API.

  • Cập nhật URL cơ sở bằng khóa API và tên thành phố.

  • Gửi yêu cầu nhận bằng phương thức request.get ().

  • Và trích xuất thông tin thời tiết bằng cách sử dụng JSON mô-đun từ phản hồi.

Ví dụ

Hãy xem mã.

# importing requests and json
import requests, json
# base URL
BASE_URL = "https://api.openweathermap.org/data/2.5/weather?"
# City Name CITY = "Hyderabad"
# API key API_KEY = "Your API Key"
# upadting the URL
URL = BASE_URL + "q=" + CITY + "&appid=" + API_KEY
# HTTP request
response = requests.get(URL)
# checking the status code of the request
if response.status_code == 200:
   # getting data in the json format
   data = response.json()
   # getting the main dict block
   main = data['main']
   # getting temperature
   temperature = main['temp']
   # getting the humidity
   humidity = main['humidity']
   # getting the pressure
   pressure = main['pressure']
   # weather report
   report = data['weather']
   print(f"{CITY:-^30}")
   print(f"Temperature: {temperature}")
   print(f"Humidity: {humidity}")
   print(f"Pressure: {pressure}")
   print(f"Weather Report: {report[0]['description']}")
else:
   # showing the error message
   print("Error in the HTTP request")

Đầu ra

Nếu bạn chạy chương trình trên, bạn sẽ nhận được kết quả sau.

----------Hyderabad-----------
Temperature: 295.39
Humidity: 83
Pressure: 1019
Weather Report: mist

Kết luận

Nếu bạn thấy bất kỳ khó khăn nào khi làm theo hướng dẫn, hãy đề cập đến chúng trong phần bình luận.