Requestsとは
PyhtonのHTTPライブラリ.
人類にとって読みやすくコーディングできるらしい.
インストール
pip3 install requests
郵便番号から住所を取得するAPI
今回は郵便番号データ配信サービスzipcloudのAPIを使用する.
zipcloudの使い方
ベースURL : http://zipcloud.ibsnet.co.jp/api/search
このURLにパラメータを加えてリクエストを送る.
zipcloudを使ってみる
getでhttp://zipcloud.ibsnet.co.jp/api/search?zipcode=1540013
で郵便番号を与えるとjsonが返ってくる.
{ "message": null, "results": [ { "address1": "東京都", "address2": "世田谷区", "address3": "駒沢公園", "kana1": "トウキョウト", "kana2": "セタガヤク", "kana3": "コマザワコウエン", "prefcode": "13", "zipcode": "1540013" } ], "status": 200 }
不正な桁の郵便番号を渡すとエラーが出る.
http://zipcloud.ibsnet.co.jp/api/search?zipcode=19216811
{ "message": "パラメータ「郵便番号」の桁数が不正です。", "results": null, "status": 400 }
存在しない郵便番号を渡すとnullが返る.
http://zipcloud.ibsnet.co.jp/api/search?zipcode=1234567
{ "message": null, "results": null, "status": 200 }
PythonからAPIを叩いてみる
テキトーにコードを書いてみる
import json import sys import requests def main(zipcode): url = "http://zipcloud.ibsnet.co.jp/api/search" param = {"zipcode": zipcode} res = requests.get(url, params=param) response = json.loads(res.text) address = response["results"][0] print(address["address1"] + address["address2"] + address["address3"]) main(sys.argv[1])
動作例
$ python3 main.py 1900003
東京都立川市栄町