কম্পিউটার টিউটোরিয়াল

পাইথনে OpenWeatherMap API ব্যবহার করে যেকোনো শহরের বর্তমান আবহাওয়া জানা


এই টিউটোরিয়ালে আমরা OpenWeatherMap API ব্যবহার করে একটি শহরের আবহাওয়া জানব। OpenWeatherMap API ব্যবহার করতে হলে একটি API Key প্রয়োজন। সেটি তাদের ওয়েবসাইটে অ্যাকাউন্ট তৈরি করে পাওয়া যায়।

অ্যাকাউন্ট তৈরি করে আপনার API Key নিন। এটি প্রতি মিনিট ৬০ কল পর্যন্ত ফ্রি। এর বেশি প্রয়োজন হলে টাকা দিতে হয়। এই টিউটোরিয়ালের জন্য ফ্রি ভার্সনই পর্যাপ্ত। HTTP রিকোয়েস্টের জন্য requests মডিউল এবং রেসপন্স নিয়ে কাজ করার জন্য JSON মডিউল প্রয়োজন। যেকোনো শহরের আবহাওয়া জানার ধাপগুলো নিচে দেওয়া হলো:

  • requests এবং json মডিউল ইমপোর্ট করুন।

  • বেস URL আরম্ভ করুন: https://api.openweathermap.org/data/2.5/weather?

  • শহরের নাম এবং API Key আরম্ভ করুন।

  • API Key এবং শহরের নাম দিয়ে বেস URL আপডেট করুন।

  • requests.get() মেথড ব্যবহার করে GET রিকোয়েস্ট পাঠান।

  • রেসপন্স থেকে JSON মডিউল ব্যবহার করে আবহাওয়ার তথ্য বের করুন।

উদাহরণ

নিচে কোডটি দেওয়া হলো।

# requests এবং json ইমপোর্ট করা হচ্ছে
import requests, json

# বেস URL
BASE_URL = "https://api.openweathermap.org/data/2.5/weather?"

# শহরের নাম
CITY = "Hyderabad"

# API Key
API_KEY = "আপনার_API_Key"

# URL আপডেট করা হচ্ছে
URL = BASE_URL + "q=" + CITY + "&appid=" + API_KEY

# HTTP রিকোয়েস্ট
response = requests.get(URL)

# রিকোয়েস্টের স্ট্যাটাস কোড চেক করা হচ্ছে
if response.status_code == 200:
    # JSON ফরম্যাটে ডেটা পাওয়া হচ্ছে
    data = response.json()
    # main ডিকশনারি ব্লক পাওয়া হচ্ছে
    main = data['main']
    # তাপমাত্রা পাওয়া হচ্ছে
    temperature = main['temp']
    # আর্দ্রতা পাওয়া হচ্ছে
    humidity = main['humidity']
    # চাপ পাওয়া হচ্ছে
    pressure = main['pressure']
    # আবহাওয়ার রিপোর্ট
    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:
    # এরর মেসেজ দেখানো হচ্ছে
    print("Error in the HTTP request")

আউটপুট

উপরোক্ত প্রোগ্রামটি রান করলে নিচের ফলাফল পাবেন।

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

উপসংহার

টিউটোরিয়াল অনুসরণ করতে কোনো সমস্যা হলে কমেন্ট সেকশনে জানাতে পারেন।

  1. পাইথনে scikit-learn ব্যবহার করে ইমেজের কন্টুর (contours) কীভাবে বের করবেন?

  2. OpenCV ব্যবহার করে ইমেজে সার্কেল খুঁজে বের করা

  3. পাইথনে News API ব্যবহার করে শীর্ষ সংবাদ আনা

  4. পাইথনে ওয়েবসাইট অ্যালার্ম তৈরি করা