PowerShellで
・郵便番号から住所を取得
できます!
PowerShellから
・郵便局のWebサイトへHTTPリクエストをして
・HTTPレスポンスから住所を抜き出す
ことで取得します!
※WebAPIは使用しません。
コード
ここでは例として
・郵便番号「1000001」の住所を取得
します。
※郵便番号「1000001」の住所は「東京都千代田区千代田」です。
# URL
$url = "https://www.post.japanpost.jp/cgi-zip/zipcode.php?zip="
# 郵便番号
$zip = "1000001"
$ws = New-Object -ComObject Wscript.Shell
try
{
# HTTPリクエスト実行
$httpRes = Invoke-WebRequest $url$zip
# HTMLをパース
$html = $httpRes.ParsedHTML
# 都道府県を取得
$State = $html.getElementsByClassName("data")[1].innerText()
# 市区を取得
$city = $html.getElementsByClassName("data")[2].innerText()
# 町村を取得
$addressLine = $html.getElementsByClassName("line")[0].innerText()
# 結果
$ws.popup($State + $city + $addressLine)
}
catch
{
$ws.popup("エラー : " + $PSItem)
}
実行結果
郵便番号から住所を取得できました。
※郵便番号「1000001」から住所である「東京都千代田区千代田」を取得できました。
参考①
郵便局の「郵便番号検索ページ」は以下です。
参考②
上記で使用した以下の詳細は、公式サイトをご確認ください。
●「Invoke-WebRequest」コマンドレット