import Requests
import requests
http://zipcloud.ibsnet.co.jp/api/search にアクセス。パラメータ"zipcode"に郵便番号を渡すと、その住所情報を得ることができる。
payload = {'zipcode': 1600022}
r = requests.get('http://zipcloud.ibsnet.co.jp/api/search', params=payload)
status_codeで、レスポンスのステータスを表示
r.status_code
200
レスポンスのヘッダーを表示
r.headers
{'alternate-protocol': '80:quic,p=0.01,80:quic,p=0.01', 'transfer-encoding': 'chunked', 'vary': 'Accept-Encoding', 'server': 'Google Frontend', 'connection': 'Keep-Alive', 'cache-control': 'private', 'date': 'Sat, 27 Sep 2014 17:31:01 GMT', 'content-type': 'text/plain; charset=utf-8'}
レスポンスのエンコードを表示
r.encoding
'utf-8'
レスポンスの中身を表示。Requestsの内部で自動でユニコードに変換してくれる。
r.text
u'{\n\t"message": null,\n\t"results": [\n\t\t{\n\t\t\t"address1": "\u6771\u4eac\u90fd",\n\t\t\t"address2": "\u65b0\u5bbf\u533a",\n\t\t\t"address3": "\u65b0\u5bbf",\n\t\t\t"kana1": "\uff84\uff73\uff77\uff6e\uff73\uff84",\n\t\t\t"kana2": "\uff7c\uff9d\uff7c\uff9e\uff6d\uff78\uff78",\n\t\t\t"kana3": "\uff7c\uff9d\uff7c\uff9e\uff6d\uff78",\n\t\t\t"prefcode": "13",\n\t\t\t"zipcode": "1600022"\n\t\t}\n\t],\n\t"status": 200\n}'
表示してみる。
print r.text
{ "message": null, "results": [ { "address1": "東京都", "address2": "新宿区", "address3": "新宿", "kana1": "トウキョウト", "kana2": "シンジュクク", "kana3": "シンジュク", "prefcode": "13", "zipcode": "1600022" } ], "status": 200 }
jsonでロードして、値を取り出してみる。
import json
issue = json.loads(r.text)
print issue['results'][0]['address1'], \
issue['results'][0]['address2'], \
issue['results'][0]['address3']
東京都 新宿区 新宿