さまざまな仕事を自動化するバッチ処理をJavaScriptで書こうと思ったときに外せないのが「Node.js」です。本稿では、Node.jsを使う上で、知っていると役立つ基本的な事柄を紹介します。

Web APIを使って天気予報を調べてみよう

 前回は、パッケージ管理ツールのnpmを使って、手軽にNode.jsに新たな機能を追加する方法を紹介しました。その例として、Excelファイルを出力する方法を紹介しました。今回は、Webからさまざまな情報をダウンロードするプログラムを紹介します。

Webから情報を取得すること

 昨今、Webには、さまざまな情報が掲載されており、個人的に必要な情報だけをダウンロードして簡単に整形するだけでも、相当価値のある情報を得ることができるようになっています。複数の情報を組み合わせて集計するなどすれば、さらに大きな価値の情報を生成することができるでしょう。そして、Node.jsを使うなら、それらの情報を手軽に取得することが可能です。

 Webで公開されている情報の中には、プログラミングで使いやすい形式でダウンロードできるように配慮されているものがあります。情報の提供者の側で、使いやすいデータ形式に整形し、公開しているのです。これを、Web APIと呼びます。今回は、Web APIの中から、天気予報をダウンロードするプログラムを紹介します。

 天気予報を提供するWeb APIは複数ありますが、ここでは、Livedoorが提供している「Wather Hacks」を紹介します。

 このWeather HacksのWebサイトでは、都道府県の各都市ごとの天気予報を、RSS形式で配布してくれているのです。RSS形式とは、XMLをベースとして作成されているデータ形式です。XMLと言えば、テキストデータを意味のあるタグでマークアップした汎用的なデータ形式です。

 上記の、Weather Hacksのサイトで、各都市ごとにRSSが用意されており、例えば、東京の天気に関するRSSは、以下で取得できます。

 XMLを表示することができるWebブラウザ(ChromeやEdge)で上記のページにアクセスしてみると、綺麗に天気の情報が階層構造に並んでいる様子を確認することができるでしょう。

東京の天気情報のRSSをWebブラウザで確認したところ
東京の天気情報のRSSをWebブラウザで確認したところ
[画像のクリックで拡大表示]