LoginSignup
14

More than 5 years have passed since last update.

RESAS-APIからRubyで都道府県の情報を取得してみる

Last updated at Posted at 2016-11-07

はじめに

11/1に内閣府よりRESAS-APIが公開され、いくつかの地域でハッカソンが開催されるという話を聞いたので、手始めにRESAS-APIからデータを取得する方法をRubyで試してみた。

[プレスリリース]
http://www.kantei.go.jp/jp/singi/sousei/resas/pdf/h28-11-01-api_kaishi.pdf

APIキーの取得

上記のサイトにて無料の利用登録をします。
メールアドレスや氏名などを入力して送信すると、入力したメールアドレスに本登録のURLが送られてくる。
URLにAPIキーが書いてあるので、間違いなくメモする。

API仕様の確認

上記URLに様々な情報の一覧があるので、詳細を確認する。
都道府県については、以下のページで説明されている。

Rubyのコードを書く

apitest.rb
require 'net/http'
require 'uri'
require 'json'

def get_json(url)

  uri = URI.parse(URI.escape(url))

  https = Net::HTTP.new(uri.host, uri.port)
  https.use_ssl = true

  param = {}
  param['X-API-KEY'] = 'あなたの取得したAPIキー'

  req = Net::HTTP::Get.new(uri.request_uri, param)
  res = https.request(req)

  json = res.body
  result = JSON.parse(json)

end

data = get_json("https://opendata.resas-portal.go.jp/api/v1-rc.1/prefectures")

data["result"].each do |val|
  puts val["prefName"]
end

実行してみる

$ ruby apitest.rb
北海道
青森県
岩手県
宮城県
秋田県
山形県
福島県
茨城県
栃木県
群馬県
埼玉県
千葉県
東京都
神奈川県
新潟県
富山県
石川県
福井県
山梨県
長野県
岐阜県
静岡県
愛知県
三重県
滋賀県
京都府
大阪府
兵庫県
奈良県
和歌山県
鳥取県
島根県
岡山県
広島県
山口県
徳島県
香川県
愛媛県
高知県
福岡県
佐賀県
長崎県
熊本県
大分県
宮崎県
鹿児島県
沖縄県

できた!

ハッカソンに参加してみる

「地方創生ビッグデータWEEK in 島根 2016」の中で、11/26、27にハッカソンが開催されます。
場所はドコモ島根支店大会議室とのこと。

初日はアイディアソンをしてからハックを開始し、翌日はひたすらハックで、夕方に発表会と懇親会があるみたい。

申込書をもらったけど、紙なんですよね(^_^;)
興味がある人はご連絡下さい。

おまけ

指定地域への国籍別訪問者数を取得して、島根県への訪問者数を確認してみる。

data = get_json("https://opendata.resas-portal.go.jp/api/v1-rc.1/tourism/foreigners/forFrom?year=2016&purpose=1&prefCode=32")
data["result"]["changes"].each do |val|
  puts val["countryName"]
  val["data"].each do |tmp|
    puts "#{tmp["year"]}-#{tmp["quarter"]} : #{tmp["value"]}"
  end
end

実行してみる。

$ ruby apitest.rb
大韓民国
2015-1 : 244
2015-2 : 654
2015-3 : 263
2015-4 : 294
2016-1 : 0
中華人民共和国
2015-1 : 0
2015-2 : 0
2015-3 : 3229
2015-4 : 0
2016-1 : 0
台湾
2015-1 : 728
2015-2 : 967
2015-3 : 1817
2015-4 : 6811
2016-1 : 6531
香港
2015-1 : 0
2015-2 : 0
2015-3 : 0
2015-4 : 3325
2016-1 : 0
ベトナム
2015-1 : 0
2015-2 : 0
2015-3 : 0
2015-4 : 0
2016-1 : 1049
タイ
2015-1 : 0
2015-2 : 0
2015-3 : 0
2015-4 : 2494
2016-1 : 0
シンガポール
2015-1 : 0
2015-2 : 0
2015-3 : 0
2015-4 : 0
2016-1 : 0
マレーシア
2015-1 : 0
2015-2 : 0
2015-3 : 0
2015-4 : 0
2016-1 : 0
フィリピン
2015-1 : 0
2015-2 : 0
2015-3 : 0
2015-4 : 0
2016-1 : 414
インドネシア
2015-1 : 233
2015-2 : 0
2015-3 : 0
2015-4 : 0
2016-1 : 0
インド
2015-1 : 0
2015-2 : 0
2015-3 : 0
2015-4 : 146
2016-1 : 0
英国
2015-1 : 0
2015-2 : 1125
2015-3 : 0
2015-4 : 856
2016-1 : 0
フランス
2015-1 : 284
2015-2 : 0
2015-3 : 0
2015-4 : 831
2016-1 : 0
ドイツ
2015-1 : 0
2015-2 : 0
2015-3 : 0
2015-4 : 0
2016-1 : 359
スペイン
2015-1 : 0
2015-2 : 0
2015-3 : 0
2015-4 : 0
2016-1 : 0
イタリア
2015-1 : 0
2015-2 : 0
2015-3 : 0
2015-4 : 0
2016-1 : 0
ロシア
2015-1 : 0
2015-2 : 107
2015-3 : 0
2015-4 : 0
2016-1 : 101
カナダ
2015-1 : 0
2015-2 : 0
2015-3 : 0
2015-4 : 420
2016-1 : 0
アメリカ合衆国
2015-1 : 0
2015-2 : 783
2015-3 : 336
2015-4 : 735
2016-1 : 0
オーストラリア
2015-1 : 0
2015-2 : 0
2015-3 : 0
2015-4 : 0
2016-1 : 0

前年度末頃から台湾からの来訪者数がいきなり増えている!!
どうしてなんだろう...

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
14