1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

気象情報のオープンデータ取得をDataSpiderで自動化してみた(スクリプト作成編)

1
Posted at

はじめに

今回はDataSpider Servistaを用い、OpenWeatherから気象予報情報一覧をCSV形式で取得する手順を3回の記事に分割してご紹介いたします。(本記事は3本中の2本目です。)

今回ご紹介する処理はHULFT Squareのアプリケーションを参考に作成しました。

前編

前回の記事はこちら
事前設定編

今回やること

前編ではOpenWeatherとDataSpiderの事前設定が完了しました。
本記事ではDataSpiderでOpenWeatherから天気情報を取得するスクリプト作成をしていきたいと思います!

アジェンダ(全体像)

  1. OpenWeatherの事前設定
    1.1 APIの確認
    1.2 ユーザー登録
    1.3 APIキーの作成
  2. DataSpider側の設定
    2.1 グローバルリソースの設定
    2.2 フォルダ作成
    2.3 スクリプト作成(本記事)
  3. スケジュールトリガーの設定
    3.1 プロジェクトのサービス登録
    3.2 スケジュールトリガーの作成

スクリプト作成

1.プロジェクト作成

まずは[マイプロジェクト]からプロジェクトを新規作成します。
プロジェクト名は「オープンデータ」、スクリプト名は「天気」を設定しています。
オープンデータ7.png

2.スクリプト変数作成

作成したプロジェクトを開きます。
そして、左側にある[プロジェクトエクスプローラ]から[天気]を右クリックし、
[新規作成]>[スクリプト変数]を押下します。
今回のスクリプトでは2つスクリプト変数を作成します。
オープンデータ11.png

1つ目のスクリプト変数名はAPIKEY、初期値には1.3APIキーの作成で作成したキーを入力しています。
オープンデータ14.png

2つ目のスクリプト変数名は郵便番号、初期値は107-0052(会社の郵便番号)を入力しています。
オープンデータ13.png

こちらでスクリプト変数の作成は以上です。

3.アイコン配置

続きまして、アイコンの設置を行っていきます。

右下にある[ツールパレット]>[ネットワーク]>[REST]>[GET実行]をドラッグ&ドロップで真ん中の画面に置きます。
オープンデータ8.png

そうすると詳細情報を設定する画面が出てきます。
パス:/forcast
クエリパラメータには以下を設定します。
レコードの追加は画面右側の追加ボタンを押下してください。

名前
appid ${APIKEY}
zip ${郵便番号},jp
units metric
lang ja
mode xml

オープンデータ9.png

そして、上のタブにある「レスポンス設定」では、
データ出力先:ファイル
ファイルバス:/data/オープンデータ/output/output.xml
をそれぞれ設定します。
ここでファイルとして吐き出すことでmappingのスキーマとして反映することができます。
設定できましたら完了ボタンを押してください。

オープンデータ10.png

続きまして、startからGET実行のアイコン、GET実行のアイコンからendまでをドラッグ&ドロップでつなぎ、赤枠の実行ボタンを押し、ファイルを出力します。

オープンデータ21.png

再度、GET実行のアイコンをダブルクリックでプロパティを開き、「レスポンス設定」で
データ出力先:データ
データ形式:XML
をそれぞれ設定します。

オープンデータ15.png

右下にある[ツールパレット]>[ファイル]>[CSV]>[CSVファイル書き込み]をドラッグ&ドロップで真ん中の画面に置きます。
ファイル:/data/オープンデータ/output/openweather.csv
列一覧はファイルの一行目から列名を読み取りを押下し、
事前に用意しているファイル(/data/オープンデータ/input/input_openweather.csv)を選択し、
列一覧に反映させます。

オープンデータ16.png

次に、「書き込み設定」からエンコードの選択と1行目に列名を挿入にチェックを入れます。
これでCSVファイル書き込みの設定は完了です。

オープンデータ17.png

GET実行のアイコンからCSVファイル書き込みのアイコンにドラッグ&ドロップするとポップアップが出てくるので、プロセスフローとデータフローを引くを選択し、マッピングを追加するにチェックします。
オープンデータ19.png

mappingのアイコンが出てくるのでダブルクリックで開きます。
そして、入力データのGETアイコンを右クリックし、スキーマを読み込むを選択します。

オープンデータ20.png

するとポップアップが出てくるのでXMLファイルから読み込みを選択し、先ほどGET実行アイコンでファイル出力したXMLファイルを参照します。

image.png

そうするとGET実行で取得できる項目が反映されました。

オープンデータ22.png

そして、以下のように左の入力元の項目から右の入力先の対応する項目にドラッグ&ドロップで線を引き、データをマッピングしていきます。
オープンデータ24.png
オープンデータ23.png

入力先のすべての項目のマッピングを完了したら、mappingを閉じアイコンが並んでる画面に戻ります。
ここで、下図のようにstartからendまですべてのアイコン同士に線がつながっていることを確認し、デバック実行をします。
image.png

正常に成功すると「スクリプトの実行に成功しました」のポップアップが表示され完了となります。

出力されたファイルには住所や天気予報が出力されていることが確認できました。
オープンデータ26.png

最後に

今回は気象情報のオープンデータ取得をDataSpiderで自動化してみたの2本目として、DataSpiderでOpenWeatherから天気情報を取得するスクリプトを作成するところまでご紹介しました。

次回の記事では、実際に運用する際に使用されることが多い、自動化(スケジュールトリガー)の設定手順をご紹介します。
ぜひご覧ください。

最後までお読みいただき、ありがとうございました!

1
1
0

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
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?