本記事は、「Slackbotで天気を確認する処理」の作成手順について紹介するものです。気象予報のサイトから情報を取得することでSlackbotで今日の天気を確認できます。今回はライブドアの気象予報サイトからデータをダウンロードして表示する場合の作成手順について説明します。天気予報の表示手順はWebサイトのデータを利用した他の処理にも応用することができるので仕組みを理解しておきましょう。目次インターネットから天気情報を取得する方法Pythonで天気情報を取得する天気予報用のコード修正インターネットから天気情報を取得する方法インターネットから天気情報を取得する方法はいくつかありますが、今回は「livedoor天気情報」が展開しているJSONファイルを使用します。上記サイトよりJSONデータと呼ばれるデータを取得します。http://weather.livedoor.com/forecast/webservice/json/v1?city=130010「?」の後の「city=130010」には都市ごとに割り振られた番号を指定します。上記の例では東京都の番号「130010」を指定します。source=”http://weather.livedoor.com/forecast/rss/area/xxxxxxx.xml”のように定義されています。idの部分が都市ごとに割り振られた番号です。Pythonで天気情報を取得する天気情報を取得する為にはURLからJSONファイルをダウンロードしてテキストデータとして変換する必要があります。その為の具体的なコードは以下の通りです。json.loads(response.text)天気の情報は取得したJSONファイルの「’forecasts’」に格納されています。今日の情報を取得する場合はweather_data[‘forecasts’][0]のデータを参照します。weather_data[‘forecasts’][0]の内容は以下の通りです。31}},なお、weather_data[‘forecasts’][1]には明日の天気、weather_data[‘forecasts’][2]には明後日の天気が格納されています。Botkit)実装例を紹介します。今回は以下のファイルを修正します。・weather.py:天気管理用ファイル(新規ファイル)・botmodule.py:Botモジュールの定義ファイルPythonでのSlackbot作成の基本については「SlackbotをPythonで作成しよう」をお読みください。・weather.py:天気を取得するモジュールを定義する天気情報を読み込む為のモジュールを定義します。今日の天気を返答する処理をBotに追記します。天気がわかればいいのでweather_data[‘forecasts’][0][‘telop’]の値を取得します。Botkit)での実装方法です。JavaScriptでのSlackbotの作成については「SlackbotをJavaScriptで作成しよう」をお読みください。Node.jsもrequestライブラリがあるのでrequireで読み込みます。Slackに天気情報を応答させる方法でした。気象サイトのデータを活用する処理は他のWebデータを活用する処理にも応用ができます。Webサイトをデータの使い方について仕組みを理解しておきましょう。KBDownload※リファクタリングや不具合の修正などで記事と内容が異なっている場合があります。Slackbotこちらの記事も読まれていますこの記事を書いている人miyabikno住んでいるところ:神奈川県。SIer中小企業(C,VBA):8年(うち5年QA)。Web系ベンチャー(PHP,Javascript,Python):2年。@miyabiknoSIer中小企業(C,VBA):8年(うち5年QA)。Web系ベンチャー(PHP,Javascript,Python):2年。現在はブログをメインに活動しています。みやびのどっとぴーわい。