百度(Baidu)のAPIからPM2.5情報を取得する

新年明けましておめでとうございます!
2015年もよろしくお願いします。

百度でPM2.5を調べる

それでは早速。

百度(Baidu)の API Storeを見ていたら、PM2.5を発見しました。

面白そうなので試してみます。

空气质量指数

中国の161都市の大気の状況を取得できるようです。わくわくしますね。

空气质量指数能提供实时空气质量情况,目前支持全国161个城市:

“三亚”,”三门峡”,”上海”,”东莞”,”东营”,”中山”,”临安”,”临汾”,”临沂”,”丹东”,”丽水”,”义乌”,”乌鲁木齐”,”九江”,”乳山”,”云浮”,”佛山”,”保定”,”克拉玛依”,”兰州”,”包头”,”北京”,”北海”,”南京”,”南充”,”南宁”,”南昌”,”南通”,”即墨”,”厦门”,”句容”,”台州”,”合肥”,”吉林”,”吴江”,”呼和浩特”,”咸阳”,”哈尔滨”,”唐山”,”嘉兴”,”嘉峪关”,”大同”,”大庆”,”大连”,”天津”,”太仓”,”太原”,”威海”,”宁波”,”安阳”,”宜兴”,”宜宾”,”宜昌”,”宝鸡”,”宿迁”,”富阳”,”寿光”,”岳阳”,”常州”,”常德”,”常熟”,”平度”,”平顶山”,”广州”,”库尔勒”,”廊坊”,”延安”,”开封”,”张家口”,”张家港”,”张家界”,”徐州”,”德州”,”德阳”,”惠州”,”成都”,”扬州”,”承德”,”抚顺”,”拉萨”,”招远”,”揭阳”,”攀枝花”,”文登”,”无锡”,”日照”,”昆山”,”昆明”,”曲靖”,”本溪”,”杭州”,”枣庄”,”柳州”,”株洲”,”桂林”,”梅州”,”武汉”,”汕头”,”汕尾”,”江门”,”江阴”,”沈阳”,”沧州”,”河源”,”泉州”,”泰安”,”泰州”,”泸州”,”洛阳”,”济南”,”济宁”,”海口”,”海门”,”淄博”,”淮安”,”深圳”,”清远”,”温州”,”渭南”,”湖州”,”湘潭”,”湛江”,”溧阳”,”滨州”,”潍坊”,”潮州”,”烟台”,”焦作”,”牡丹江”,”玉溪”,”珠海”,”瓦房店”,”盐城”,”盘锦”,”石嘴山”,”石家庄”,”福州”,”秦皇岛”,”章丘”,”绍兴”,”绵阳”,”聊城”,”肇庆”,”胶南”,”胶州”,”自贡”,”舟山”,”芜湖”,”苏州”,”茂名”,”荆州”,”荣成”,”莱州”,”莱芜”,”莱西”,”菏泽”,”营口”,”葫芦岛”,”蓬莱”,”衡水”,”衢州”,”西宁”,”西安”,”诸暨”,”贵阳”,”赤峰”,”连云港”,”遵义”,”邢台”,”邯郸”,”郑州”,”鄂尔多斯”,”重庆”,”金华”,”金坛”,”金昌”,”铜川”,”银川”,”锦州”,”镇江”,”长春”,”长沙”,”长治”,”阳江”,”阳泉”,”青岛”,”鞍山”,”韶关”,”马鞍山”,”齐齐哈尔”

SDKは無いですが、単純にHTTPでGetすれば大丈夫です。

必要なのは、curlコマンドとjqコマンドのみ。アクセスキー等も不要です。

以下のJSON形式でレスポンスがあります。

{
    errNum: 0, //0以外の場合は失敗
    retMsg: "success",
    retData: {
    city: "北京", //都市名
    time: "2014-12-04T13:00:00Z", //データ取得時間
    aqi: 38,  //空気質量指数
    level: "优", //空気の等級
    core: "" //主要な汚染物質
    }
}

北京の空気は、优(優)!

$ curl http://apistore.baidu.com/microservice/aqi?city=北京 | jq .
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   131    0   131    0     0    400      0 --:--:-- --:--:-- --:--:--   451
{
  "errNum": 0,
  "retMsg": "success",
  "retData": {
    "city": "北京",
    "time": "2014-12-25T13:00:00Z",
    "aqi": 21,
    "level": "优",
    "core": ""
  }
}

乌鲁木齐(ウルムチ)の空気は、中度污染!

$ curl http://apistore.baidu.com/microservice/aqi?city=乌鲁木齐 | jq .
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   187    0   187    0     0    583      0 --:--:-- --:--:-- --:--:--   642
{
  "errNum": 0,
  "retMsg": "success",
  "retData": {
    "city": "乌鲁木齐",
    "time": "2014-12-25T14:00:00Z",
    "aqi": 191,
    "level": "中度污染",
    "core": "颗粒物(PM2.5)"
  }
}

哈尔滨(ハルビン)の空気は、良!

$ curl http://apistore.baidu.com/microservice/aqi?city=哈尔滨 | jq .
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   162    0   162    0     0    482      0 --:--:-- --:--:-- --:--:--   496
{
  "errNum": 0,
  "retMsg": "success",
  "retData": {
    "city": "哈尔滨",
    "time": "2014-12-25T14:00:00Z",
    "aqi": 78,
    "level": "良",
    "core": "颗粒物(PM2.5)"
  }
}

まとめ

いかがでしたでしょうか。簡単でしたね。

このデータを信用していいのかわかりませんが、面白かったですね。

あわせて読みたい