セントルイス連銀のデータをpython経由で取得する

概要

・セントルイス連銀が提供しているFRED Economic Dataはデータが豊富なので欲しい
・PythonでFRED APIを叩いてデータを取得する

ユーザー登録

まずはユーザー登録を行い,apikeyを取得する必要がある様子

Register User Account – St. Louis Fed
http://research.stlouisfed.org/useraccount/register/step1

データ取得に関するドキュメント
St. Louis Fed Web Services: fred/series/observations
http://api.stlouisfed.org/docs/fred/series_observations.html

データ取得方法

APIが公開されているので例えば
http://api.stlouisfed.org/fred/series/observations?series_id=PAYEMS&api_key=[YOUR_APIKEY]&file_type=json&realtime_start=2000-01-01

といったURLにアクセスすればデータを取得することが出来ます.
(ユーザー登録後に取得したapikeyを[YOUR_APIKEY]のところに指定する必要あり)
ちなみに上記URLではPAYEMSという系列(アメリカの非農業部門雇用者数)を取得しています.
詳しくは上述したドキュメントを参照ということで(― ―)

ファイル・タイプとしては,
・XML
・JSON
・TXT
・CSV
といった方式が対応しているようです.今回はJSONを使用.

Pythonコード

まずはURLクローラということで,getPageText関数をパクじゃなくて参考にして作成します.
変数responseは通常str型で返ってきますので,ここではJSON形式に変換して返すようにしています.

これを実行すると

といった具合に値が返ってきます.
なお,これは非農業部門雇用者数となっておりますので,通常着目される非農業部門雇用者数の増加数自体は
136765と136562の差分をとって203となります.単位が1000人となっておりますので,
10月~11月に非農業部門雇用者数は203,000人増加したということですね.
この値は米国労働省のHPからも確認できます.

U.S. Bureau of Labor Statistics
http://www.bls.gov/

131221

サイトの右下のPayroll Employmentに +203,000とありそれっぽい値が取れてそうということが分かります.

参考

プログラマはWebページをデータとして扱う — ExSoft
http://www.exsoft.net/blog/entry/v8eik8