はじめに
今回はDataSpider Servistaを用い、OpenWeatherから気象予報情報一覧をCSV形式で取得する手順を3回の記事に分割してご紹介いたします。(本記事は3本中の2本目です。)
今回ご紹介する処理はHULFT Squareのアプリケーションを参考に作成しました。
前編
前回の記事はこちら
事前設定編
今回やること
前編ではOpenWeatherとDataSpiderの事前設定が完了しました。
本記事ではDataSpiderでOpenWeatherから天気情報を取得するスクリプト作成をしていきたいと思います!
アジェンダ(全体像)
- OpenWeatherの事前設定
1.1 APIの確認
1.2 ユーザー登録
1.3 APIキーの作成 - DataSpider側の設定
2.1 グローバルリソースの設定
2.2 フォルダ作成
2.3 スクリプト作成(本記事) - スケジュールトリガーの設定
3.1 プロジェクトのサービス登録
3.2 スケジュールトリガーの作成
スクリプト作成
1.プロジェクト作成
まずは[マイプロジェクト]からプロジェクトを新規作成します。
プロジェクト名は「オープンデータ」、スクリプト名は「天気」を設定しています。

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

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

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

こちらでスクリプト変数の作成は以上です。
3.アイコン配置
続きまして、アイコンの設置を行っていきます。
右下にある[ツールパレット]>[ネットワーク]>[REST]>[GET実行]をドラッグ&ドロップで真ん中の画面に置きます。

そうすると詳細情報を設定する画面が出てきます。
パス:/forcast
クエリパラメータには以下を設定します。
レコードの追加は画面右側の追加ボタンを押下してください。
| 名前 | 値 |
|---|---|
| appid | ${APIKEY} |
| zip | ${郵便番号},jp |
| units | metric |
| lang | ja |
| mode | xml |
そして、上のタブにある「レスポンス設定」では、
データ出力先:ファイル
ファイルバス:/data/オープンデータ/output/output.xml
をそれぞれ設定します。
ここでファイルとして吐き出すことでmappingのスキーマとして反映することができます。
設定できましたら完了ボタンを押してください。
続きまして、startからGET実行のアイコン、GET実行のアイコンからendまでをドラッグ&ドロップでつなぎ、赤枠の実行ボタンを押し、ファイルを出力します。
再度、GET実行のアイコンをダブルクリックでプロパティを開き、「レスポンス設定」で
データ出力先:データ
データ形式:XML
をそれぞれ設定します。
右下にある[ツールパレット]>[ファイル]>[CSV]>[CSVファイル書き込み]をドラッグ&ドロップで真ん中の画面に置きます。
ファイル:/data/オープンデータ/output/openweather.csv
列一覧はファイルの一行目から列名を読み取りを押下し、
事前に用意しているファイル(/data/オープンデータ/input/input_openweather.csv)を選択し、
列一覧に反映させます。
次に、「書き込み設定」からエンコードの選択と1行目に列名を挿入にチェックを入れます。
これでCSVファイル書き込みの設定は完了です。
GET実行のアイコンからCSVファイル書き込みのアイコンにドラッグ&ドロップするとポップアップが出てくるので、プロセスフローとデータフローを引くを選択し、マッピングを追加するにチェックします。

mappingのアイコンが出てくるのでダブルクリックで開きます。
そして、入力データのGETアイコンを右クリックし、スキーマを読み込むを選択します。
するとポップアップが出てくるのでXMLファイルから読み込みを選択し、先ほどGET実行アイコンでファイル出力したXMLファイルを参照します。
そうするとGET実行で取得できる項目が反映されました。
そして、以下のように左の入力元の項目から右の入力先の対応する項目にドラッグ&ドロップで線を引き、データをマッピングしていきます。


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

正常に成功すると「スクリプトの実行に成功しました」のポップアップが表示され完了となります。
出力されたファイルには住所や天気予報が出力されていることが確認できました。

最後に
今回は気象情報のオープンデータ取得をDataSpiderで自動化してみたの2本目として、DataSpiderでOpenWeatherから天気情報を取得するスクリプトを作成するところまでご紹介しました。
次回の記事では、実際に運用する際に使用されることが多い、自動化(スケジュールトリガー)の設定手順をご紹介します。
ぜひご覧ください。
最後までお読みいただき、ありがとうございました!








