Google Apps Script でクローラーを作る

自分のサイトの情報を抽出したくてクローラーを作ろうとしました。

最初に言っておきたいのですが、GASには一日の実行可能時間に制限があるため、1日中クローラーを動かすようなことはできません。
「サービスで 1 日に使用しているコンピュータ時間が長すぎます」とエラーメールが来ます。
時間については以下のトリガーの合計実行時間を参照してください。
QUOTA LIMITS

処理の流れ

基本的にやることはhtmlをフェッチしてきて、正規表現で取得したい情報を抽出するだけです。
GASで使えそうなhtmlパーサーなどは見つかりませんでした。
なので基本的な形は以下のようになります。

function myFunction() {  
  //エラーコードを取るためには muteHttpExceptions を trueにする必要がある。これがないとそのまま落ちる
  var response = UrlFetchApp.fetch('http://kido0617.github.io/', {"muteHttpExceptions": true});
  if(response.getResponseCode() >= 400){
    Logger.log(response.getResponseCode());
    return;
  }

  // htmlが取れるのであとは正規表現使って抽出していくだけ
  var html = response.getContentText('UTF-8'); 

  //抽出できたら、スプレッドシートに追加していく

  //アクティブなシートを取得。あるいはシート名で取得可能 spreadsheet.getSheetByName("シート1");
  var sheet = SpreadsheetApp.getActiveSheet();
  //appendRowすると最後の行に追加できる
  sheet.appendRow(['抽出結果A', '抽出結果B'])
}

また、GASは1回の実行時間が6分間で制限されていますが、これはトリガーを使うことで解決できます。
Google Apps Script で6分以上の処理をするを参照してください。

クロールする際、サイトに負荷かけないように処理をスリープするのは以下で可能です。

Utilities.sleep(60000);  //ミリ秒