J2897 icon

Get OpenWeather forecast

J2897 | PRO | 05/15/24 10:39:45 PM UTC | 0 ⭐ | 1668 👁️ | Never ⏰ | []
Python |

2.1 KB

|

None

|

0 👍

/

0 👎

import requests
import datetime
 
# The name of the city you want to get the weather for
city_name = "Manchester"
#city_name = "Manchester,England,GB"
#city_name = "Manchester,New Hampshire,US"
#city_name = "Manchester,NH,US"
 
# Make the API request
response = requests.get(f"http://api.openweathermap.org/data/2.5/weather?q={city_name}&appid={OPENWEATHERMAP_KEY}")
 
# Check if the request was successful
if response.status_code == 200:
    # Parse the JSON data
    data = response.json()
 
    # Convert timezone from seconds to hours and minutes
    timezone_hours = data["timezone"] // 3600
    timezone_minutes = (data["timezone"] % 3600) // 60
    timezone_str = f"GMT{'+' if timezone_hours >= 0 else ''}{timezone_hours}:{timezone_minutes:02d}"
 
    # Print the weather data in a nicely formatted way
    print("City: {}, ({})".format(data["name"], data["sys"]["country"]))
    print("ID: {}".format(data["id"]))
    print("Coordinates: ({}, {})".format(data["coord"]["lon"], data["coord"]["lat"]))
    print("Weather: {}".format(data["weather"][0]["description"]))
    print("Temperature: {:.2f}°C".format(data["main"]["temp"] - 273.15))
    print("Feels like: {:.2f}°C".format(data["main"]["feels_like"] - 273.15))
    print("Minimum temperature: {:.2f}°C".format(data["main"]["temp_min"] - 273.15))
    print("Maximum temperature: {:.2f}°C".format(data["main"]["temp_max"] - 273.15))
    print("Pressure: {} hPa".format(data["main"]["pressure"]))
    print("Humidity: {}%".format(data["main"]["humidity"]))
    print("Visibility: {} m".format(data["visibility"]))
    print("Wind speed: {} m/s".format(data["wind"]["speed"]))
    print("Wind direction: {}°".format(data["wind"]["deg"]))
    print("Clouds: {}%".format(data["clouds"]["all"]))
    print("Sunrise: {}".format(datetime.datetime.fromtimestamp(data["sys"]["sunrise"])))
    print("Sunset: {}".format(datetime.datetime.fromtimestamp(data["sys"]["sunset"])))
    #print("Timezone: {}".format(data["timezone"]))
    print("Timezone: {}".format(timezone_str))
else:
    # Print an error message
    print(f"Error: {response.status_code}")

Comments

  •  icon
    01/01/70 12:00:00 AM UTC
    Plain Text |

    0 B

    |

    👍

    /

    👎