Google Apps Script でスクレイピング 〜 ページ内に特定の文字列が含まれているか判定する

Google Apps Script ページ内に特定の文字列が含まれているかを判定するスクレイピングみたいなコードを書いたのでご紹介します。

コードの処理の流れ

  1. UrlFetchApp.fetch でレスポンスを取得する
  2. response.getContentText で HTTP response のコンテンツをエンコード済みの文字列で取得する
  3. String.prototype.indexOf() で文字列に ‘Example’ を含んでいるか判定する

Google Apps Script のサンプルコード

function myFunction() {
  var contentText = fetchContentText("http://example.com");
 
  if (contentText.indexOf('Example') !== -1) {
    Logger.log('◯');
  } else {
    Logger.log('☓');
  }
}
 
function fetchContentText(url){
  var opt = {"contentType":"text/html","method":"get"};
 
  var response = UrlFetchApp.fetch(url, opt);
  var contentText = response.getContentText();
  return contentText;
}

基本的なスクレイピングは少しのコードで実現できました。

このコードを元に、次は判定結果を Google スプレッドシートに追記していくコードを書けば利用の幅が広がる気がしています。

参考情報