【PowerShell】郵便番号から住所を取得する

PowerShellで
 ・郵便番号から住所を取得
できます!

PowerShellから
 ・郵便局のWebサイトへHTTPリクエストをして
 ・HTTPレスポンスから住所を抜き出す
ことで取得します!
※WebAPIは使用しません。

PR

コード

ここでは例として
 ・郵便番号「1000001」の住所を取得
します。
※郵便番号「1000001」の住所は「東京都千代田区千代田」です。

郵便番号「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)
}

URLとして『郵便番号検索結果ページの「郵便番号」を除いた部分』を指定します(2行目)。
※「https://www.post.japanpost.jp/cgi-zip/zipcode.php?zip=」です。

郵便番号検索結果ページの「郵便番号」を除いた部分
郵便番号検索結果ページの「郵便番号」を除いた部分

任意の「郵便番号」を指定します(4行目)。
※上記では「1000001」を指定しています。

「Invoke-WebRequest」コマンドレットにより、HTTPリクエストを実行します(11行目)。

PR

実行結果

郵便番号から住所を取得できました。
※郵便番号「1000001」から住所である「東京都千代田区千代田」を取得できました。

実行結果
実行結果
PR

参考①

郵便局の「郵便番号検索ページ」は以下です。

PR

参考②

上記で使用した以下の詳細は、公式サイトをご確認ください。

●「Invoke-WebRequest」コマンドレット

タイトルとURLをコピーしました