アメグラ2号のブログ

1980年代後半の古き良きビデオゲームのほか、オッサンの個人的備忘録

python 外部サイトから気象情報取得

python

python

pythonでWebスクレイピングができるならば、その先の情報をもっと取得したくなるもの。ということで検索していたら「pythonを使用した気象分析」というのが。

以前から気象データをいじってみたかったし、情報取得方法の確認する意味でも丁度良い。よしやってみよう。

 

◆実行の流れ

pythonで、外部サイト「PlanetOS」へ接続し、そこからデータをもらって、自分のPC上にデータを表示する。

なんてことない流れだが、テキトーには繋がらない。(当たり前か)

 

pythonモジュール確認

必要なモジュールは、requests, json, pandas

毎度のことながら

>py -m pip list


Package Version
--------------- ---------
certifi 2020.12.5
chardet 4.0.0
et-xmlfile 1.0.1
idna 2.10
jdcal 1.4.1
numpy 1.20.2
openpyxl 3.0.6
pandas 1.2.3
pip 21.0.1
python-dateutil 2.8.1
pytz 2021.1
requests 2.25.1
selenium 3.141.0
setuptools 49.2.1
six 1.15.0
urllib3 1.26.3

 

◆実行スクリプト

スクリプトはこちらにまとめておく。

 

game-allergy.hatenablog.com

 

 

◆Planet OS

PlanetOS

PlanetOS

アカウント作成は無料。登録すると接続に必要なAPI keyが付与される。

API keyは、ログイン後のブラウザ右上の自分のアカウントから「Account settings」で確認できる。

 

◆NOAA(アメリカの気象庁?)

使用する情報源はNOAAのものらしい。ほかにも様々な場所の情報源があるらしいが、、、そこまでは深堀りしない。

www.noaa.gov

 

いったいどのように接続しているのかな~と。

ネットに掲載されていたアドレスを見てみると、

f:id:game-allergy:20210406161221j:plain

 

あ、これか。

PlanetOS

PlanetOS

 

 

f:id:game-allergy:20210406145357j:plain

dataSetsID =noaa_gfs_global_sflux_0.12dなんだけど、

データセットIDってなんなのよ?って調べてみると、いろんな観測所?のデータを扱うことができるみたい。上記のAPIではNOAAを選択している。

 

◆気象情報(json)は下記のような感じで取得される。

PlanetOS

PlanetOS

取得できるデータのjsonファイル内容も記載されている。これは分かりやすい。

(実はこれを見る前に、jsonデータを数字羅列を見てしまい、、、いったいどんなデータの並びになっているのかすこーしハマった)

 

 

json形式

普通にjson形式でデータを取得するだけだとこんなものが。。。。

初めて見たときは「視力検査か?」ってくらいな文字列の嵐。

知らない人からすれば単なる嫌がらせだよね、こんな文字の羅列。

 

だいたい jsonって何よ?美味いの?

何も知らない人からすればなんだか分からんよ。

ググったらJavaScriptObjectNotationだったかな?

要はJavaScript形式のデータ集合体?で軽量で取り扱いしやすいんだと。

上記の中身を見てみると単なる文字列の集合体。ただ、カッコなど記号を規則的に使用して「意味のある表データ」になってる。エクセルの表だって、文字だけで表現すればこんな感じになるわけで。。。。ということで、規則性がわかってしまえばたいしたことない。

 

 

 

◆整理すればOK

手順を踏んでみれば、上記のデータの山はたった2つのカテゴリに。

その中に、気象のいろんなデータが入ってきている。

 

↓ 時刻と気温を抽出できる。

 

◆だからなんなんだ

世界中のいろんなところで気象データが無償で開示されている。

この情報を使っていろんな研究に…という学者さん向けなのかと。

 

とにかく膨大なデータがあるので、これをどーやって使うか?というのは日々見ていかないと分からない・・・つまり研究者向けだよね。

自分としては、APIを使用し、外部サイトにアクセスして情報を取得する方法を体験できた…これが今回の大きな収穫かと。

 

見るだけではなく、自分で触って動かして。

これが一番大事だ。