LoginSignup
3
3

More than 3 years have passed since last update.

(備忘録)Pythonでお天気情報取得アプリ作成

Last updated at Posted at 2019-03-24

1. はじめに

2019年3月24日にNPO法人 まちづくりエージェント SIDE BEACH CITY.様主催にて開催されたSBCamp. Pythonではじめる!プログラミング入門講座でのPythonプログラミング入門について、自分への備忘録としてまとめてみました。ご参考になれば幸いです。

2. 学べる内容

  • Pythonインストール
  • Visual Studio Codeインストール
  • Visual Studio Code おすすめ拡張機能
  • Pythonで天気情報取得アプリ開発

3. 事前準備

4. Visual Studio Code おすすめ拡張機能

Pythonプログラミングでおすすめの拡張機能

  • Python
  • indent-rainbow
  • Bracket Pair Colorizer 2

その他おすすめ拡張機能

  • Settings Sync
  • Auto Close Tag
  • Auto Rename Tag

5. Chromeブラウザおすすめ拡張機能

Chromeブラウザ上でJSON内容を展開して見やすく表示する拡張機能

6. お天気情報取得API

7. Pythonで天気情報取得アプリ

main.py
# -*- coding: utf-8 -*-
import urllib.request
import json

# 天気クラス
class Weather:
    def __init__(self, data):
        # 日付
        self.date = data["date"]

        # テロップ
        self.telop = data["telop"]

        # 最高気温
        if data["temperature"]["max"] is not None:
            self.temperature_max = "{0}℃".format(data["temperature"]["max"]["celsius"])
        else:
            self.temperature_max = "--"

        # 最低気温
        if data["temperature"]["min"] is not None:
            self.temperature_min = "{0}℃".format(data["temperature"]["min"]["celsius"])
        else:
            self.temperature_min = "--"

    def print(self):
        print(self.date)
        print("  " + self.telop)
        print("  最低気温:{0}".format(self.temperature_min))
        print("  最高気温:{0}".format(self.temperature_max))

# Weather Hacks URL
URL = "http://weather.livedoor.com/forecast/webservice/json/v1?city={0}"

# 町コード:横浜市
ID = 140010

# リクエスト実行
req = urllib.request.Request(URL.format(ID))
with urllib.request.urlopen(req) as res:
    # レスポンス結果
    data = json.load(res)
    print(data["title"])

    # 天気結果の取得
    weathers = []
    for forecast in data["forecasts"]:
        weathers.append(Weather(forecast))

    # 天気結果の出力
    for item in weathers:
        item.print()

8. 実行確認

コマンドプロンプト
# Python3系にて実行
$ python main.py
神奈川県 横浜 の天気
2019-03-24
  晴時々曇
  最低気温:--
  最高気温:--
2019-03-25
  晴のち曇
  最低気温:4℃
  最高気温:18℃
2019-03-26
  曇時々晴
  最低気温:--
  最高気温:--

9. おわりに

Python学習の参考になれば幸いです。
ハンズオン開催してくださいましたNPO法人 まちづくりエージェント SIDE BEACH CITY.様、感謝いたします。

2019/03/24 TAKAHIRO NISHIZONO

3
3
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3