Python에서 OpenWeather API에 액세스하여 기상 정보 얻기

Goals


  • Python에서 OpenWeather API에 액세스 할 수 있습니다
  • 취득한 JSON 데이터를 정형해 출력할 수 있게 된다

  • Back ground



    직장에서 Python을 작성할 수있는 기회가있을 것 같습니다.
    Python이 흔들리면 API를 두드리는 코드를 작성하려고했습니다.

    OpenWeather



    OpenWeather는 기상 정보를 탐색하는 모바일 앱 등을 공개하는 서비스입니다.
    별도, API도 무료로 (※) 공개되고 있기 때문에, 그쪽을 이번은 이용합니다.
    ぇtps://오뻬우아아테ぇr마 p. rg/

    ※ 확인은 하고 있지 않습니다만, 이 손의 API 는 상용 이용등에서는 유료가 될 가능성이 있기 때문에, 잘 확인 후 사용해 주세요.

    API 사양



    이번에는 현재 기상 데이터를 검색하기 위해 다음 API를 사용합니다.
    Current weather data

    API Key 얻기



    API에 액세스하려면 Key 검색이 필요합니다.
    OpwnWeather 사이트에서 가입하여 받으세요.



    API에 액세스하여 JSON 데이터를 덤프하는 코드



    다음 코드를 사용하여 API에 액세스하여 JSON 데이터를 덤프할 수 있습니다.
    외부 패키지로 requests가 필요하므로 $ pip install requests로 설치하십시오.
    import requests
    import json
    
    
    cityName = "Tokyo"
    ApiKey = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" # 各自で取得した Key を設定する
    api = "http://api.openweathermap.org/data/2.5/weather?units=metric&q={city}&APPID={key}"
    url = api.format(city=cityName, key=ApiKey)
    
    response = requests.get(url)
    data = response.json()
    jsonText = json.dumps(data, indent=4)
    
    print(jsonText)
    

    위의 스크립트를 실행하면 다음과 같은 데이터를 얻을 수 있습니다.
    체감 온도 등, 상세한 데이터를 얻을 수 있어 편리할 것 같네요.
    {
        "coord": {
            "lon": 139.6917,
            "lat": 35.6895
        },
        "weather": [
            {
                "id": 803,
                "main": "Clouds",
                "description": "broken clouds",
                "icon": "04n"
            }
        ],
        "base": "stations",
        "main": {
            "temp": 24.57,
            "feels_like": 25.48,
            "temp_min": 23.22,
            "temp_max": 25.7,
            "pressure": 1006,
            "humidity": 92
        },
        "visibility": 10000,
        "wind": {
            "speed": 3.6,
            "deg": 180
        },
        "clouds": {
            "all": 75
        },
        "dt": 1631960824,
        "sys": {
            "type": 2,
            "id": 2038398,
            "country": "JP",
            "sunrise": 1631910354,
            "sunset": 1631954715
        },
        "timezone": 32400,
        "id": 1850144,
        "name": "Tokyo",
        "cod": 200
    }
    

    Round up



    이번 기사의 정리는 이하입니다.
  • Open Weather API를 사용하면 자세한 기상 데이터를 무료로 얻을 수 있습니다
  • Python에서 requests package에서 쉽게 API에 액세스하여 데이터를 검색 할 수 있습니다

  • References



    참조 정보는 다음과 같습니다.
  • ぇtps://오뻬우아아테ぇr마 p. rg/
  • 좋은 웹페이지 즐겨찾기