他の言語との連携について

「・・・についてシリーズ」をもう一発!!
ここでは Web からデータを取得し、AWK で処理する方法についてお話しましょう。

何かのデータが欲しい時にはネットを通じて入手する機会が多いですよね。
ただし、一発で大量のデータを入手しようとすると、これまた大量のお金が必要です。
注意深くネットを眺めると、必要な事項が表示されているページを多く集めれば立派なデータベースになることに気が付きます。
前章でお話しした「地震データ」もこの例です。「連想配列について」の章で、ほんの一部分をご紹介しましたね。

Web から集めたテキストデータには、ホームページ独特の不要データ(広告など)が混入しています。
試しに、このURLをブラウザで表示して、Ctrl+A(全て選択)、Ctrl+C(コピー)してから、メモ帳などにCtrl+V(貼り付け)して下さい。
沢山のテキストの中に地震のデータが見えますね。まさに3月11日14時46分の大地震のデータです。
これらのデータから自分が必要とするデータを AWK で抽出すると、ローカルの地震情報データベースの出来上がり!!
ローカルに保存したデータベースなら、好きなように加工・集計したり、他のデータベースと結合することが自由自在です。


しかし・・・ページ数が多くなると手作業でコピペすることは大変に面倒なことですね。
そこで、私は「UWSC」と呼ばれるフリーの言語を使用して、ホームページへの接続からコピペ、そしてデータ保存を自動的に行えるスクリプトを作成して使用しています。
この UWSC、とても言語構造が汚いのです。私の嫌いなタイプの言語構造なのです。(作者さん、ごめん!!)
でも、過去に(NISTEPや一橋大学で)大量の特許データ(数十万件)をダウンロードするときに試験的に使用して以来、今でも使っています。
その理由は・・・

  1. Windows でのマウス・キーボードの操作が記録でき、それを再生することができる。(何度も同じ操作をするときに便利)
  2. IE 操作関連の関数がある。(本章のテーマにピッタリ!!)
  3. Web からのデータ収集に限定すれば、私にとっては過去のソース遺産がある。
  4. 無料のデータ収集に有料の言語は買えない。
  5. 何よりもこの目的に合う他の言語を試してみるのが面倒。
・・・ということです。
まあ、「UWSC」を使う特別な理由は無かった・・・ということですかね。目的に合うなら慣れた言語で是非どうぞ・・・


さてここで、UWSC のお勧めの使い方をご紹介いたします。

私にとって便利だと感じたのは、スケジュール設定機能が搭載されていることです。
休止状態からでもソフトを起動できる機能があるのです。(下図参照)
UWSC_schedule.png
「実行時に休止状態から復帰する」にチェックすればOKです。(ただし、PCによっては機能しないこともあるので注意!)
これで、休止状態にあるPCが復帰し、指定のソフトを起動できるのです。
ここの例では、毎日 0 時 40 分に「電力の使用状況データのダウンロード.UWS」を実行させています。

実は計画停電以降、東京電力で発表されている「電力使用量」を毎日取得しているのです。
東京電力のホームページでは、電力使用量データを 0 時 30 分までに更新され、1 時 15 分頃には当日データに書き換えられてしまうのです。
1 日分のデータを得るには、0 時 30 分から 1 時 15 分の間にデータを取得しなければなりません。
毎日 45 分のチャンスしかないのです。「忘れ物の神様」である私は、当然取得忘れがあります。
(最近では過去のデータが取得できるようになりましたが、残念ながら電力供給量を得ることはできません。)
・・・で、UWSC の登場となったのです。

この「電力の使用状況データのダウンロード」のスクリプトをご紹介します。意外と簡単に作れますよ。
ここから覗いてください。
このスクリプトでは、処理が完了すると強制的にシャットダウンするようにプログラムされています。(メインルーチンの最後)
ここがミソです。
寝る前にPCを休止状態にします。消費電力は極わずかです。朝には、必要なデータを保存してシャットダウンしているPCが確認できます。
この例のように、毎日更新されるデータをダウンロードするときには便利な機能ですね。

内緒ですが・・・
Web からプログラム(「ロボット」と呼ぶらしい)で大量のデータを取得することを禁止しているデータベースサイトがあります。
私は、人の手でサイトに接続してダウンロードしているように見える「ロボット」をを作りました。これで多くの特許データを取得しました。
・・・って、ここに書いたらちっとも内緒じゃぁない。。。


最後に、電力使用状況のデータ取得結果をご紹介します。
このデータには、気象庁の過去の気象情報から東京の毎時の気温を取得して付加してあります。(これも UWSC で・・・)
その中から一部のデータをグラフにしましたのでご覧ください。

土日と月〜金曜日の使用量が特徴的に異なりますね。その差が企業活動の分です。
そして、気温が 25℃を超える頃から気温とほぼ比例して使用量も増加しています。
この電力増加分はエアコンでしょう。約 1,000 万キロワットほどもあります。全体の 2 割を超えます。
7 月 11 日の週では、気温の割に電力使用量が大きく増加していますね。
この週の最高気温は 32.4℃でした。34.2℃を記録した 6 月 29 日の使用量に匹敵しますね。
節電のためにエアコンの設定温度を 28℃に設定するように呼びかけられていますが・・・これで大丈夫? 本当に我慢できるの???
denryoku.png

以上で、他言語との連携についてのお話はおしまい・・・

<-->

戻る