Python Fetching Current Weather Data

投稿者: | 2017年3月15日

本に書いてあるようにはできなかった。

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# Prints the weather for a location from the command line

import json
import requests
import sys
import pprint

def main():
    # Compute location from command line arguments.
    if len(sys.argv) < 2:
        print('Usage: quickWeather.py location')
        sys.exit()
    #location = ' '.join(sys.argv[1:])

    # Download the Json data from OpenWeatherMap.org's API.
    url = 'http://weather.livedoor.com/forecast/webservice/json/v1?city=400040' # 久留米

    print(url)
    response = requests.get(url)
    response.raise_for_status()

    # Load JSON data into a python variable.
    weatherData = json.loads(response.text)
    

    # Print weather descriptions
    w = weatherData['forecasts']
    location = weatherData['location']['city']
    print(f'場所 : {location}')
    for i in range(3):
        date = w[i]['dateLabel']
        telop = w[i]['telop']

        print(f'{date} : {telop}')


if __name__ == '__main__':
    main()

OpenwetherMapをうまく扱えなかったので

Livedoor Weather Web Service / LWWS

で代用した。

改善点

・IDを自動で設定し入力。
例えば、 北海道と入力すると、対応するIDを見つけて、urlに代入する。

・tkinterなどを使ってGUIを作り、入力しやすくする。

 

 

 

Pocket

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください