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

Google Apps Script(以下GAS)を使って、

住所から郵便番号を検索するツールを作成する。

データは郵便局ではなくGoogle Mapを使う。

Google Map APIだと準備が面倒なので、

通常のGoogle Mapで検索する流れ。

まず、住所はGoogle Sheetにまとめておく。

住所データはこんな感じ↓

住所郵便番号
北海道旭川市ほげほげ
北海道札幌市ほげほげ

ソースはこんな感じ↓

/**
 * 住所から郵便番号検索
 */
function searchZip() {
  
  var response;
  var zip;
  var mDiff;
  var mStart  = new Date();
  var url = 'https://google.co.jp/maps/search/';
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('対象シート名');

  // データをすべて配列に
  var values = sheet.getDataRange().getValues();
  
  try {
    
    values.forEach(function(value) {

      // 既に入力済みは無視
      if (value[1].length > 0) {
        return;
      }

      // 6分の制限時間を超えないよう5分くらいでやめる
      mDiff = new Date() - mStart;
      if (mDiff > 300000) {
        return;
      }
      
      // グーグルマップで検索
      response = UrlFetchApp.fetch(url + value[0]).getContentText();
      
      // 検索結果に郵便番号があるかチェック
      zip = response.search('〒');
      
      if (zip >= 0) {
        
        // 郵便番号を取得
        value[1] = response.substr(zip + 1, 8);
      } else {
        
        // 取得できなかった住所はログに
        Logger.log(value[0]);
      }
      
      // グーグルに迷惑をかけないよう配慮
      Utilities.sleep(1000);
    });

  } catch(e) {
    
    // 何かエラーがあれば出力
    Logger.log(e);
  }
    
  // データを戻す
  sheet.getDataRange().setValues(values);  
}

手出しゼロで利用できる♪話題のポイ活始めるならモッピー!

コメントを残す

メールアドレスが公開されることはありません。

CAPTCHA