ikemonn's blog

技術ネタをちょこちょこと

【GAS】Google Apps ScriptとChatWork APIを利用してスクレイピングしたものをポストする

作ったもの

毎朝アンサイクロペディアから情報を取得して呟いてくれるbot

f:id:ikemonn:20131215074637p:plain

コード

function AABot() {
  var AA = getAA();
  var greatKnowlege = getGreatKnowlege();
  sendMsg(AA + greatKnowlege);
}

function sendMsg(msg) {
  var ikemonn = 'your roomid';
  var cw = ChatWorkClient.factory({token: 'your token'});
  cw.sendMessage({room_id: ikemonn, body: msg});
}

function getAA() {
  var objSpreadsheet = SpreadsheetApp.getActiveSpreadsheet();
  var objSheet = objSpreadsheet.getActiveSheet();
  var objRange = objSheet.getRange("A1");
  return objRange.getValue();
}

function getGreatKnowlege() {
  //情報を取得するサイト
  var url = "http://ja.uncyclopedia.info/wiki/%E7%89%B9%E5%88%A5:%E3%81%8A%E3%81%BE%E3%81%8B%E3%81%9B%E8%A1%A8%E7%A4%BA";
  var response = UrlFetchApp.fetch(url);
  //正規表現で取得するコンテンツを指定
  var myRegexp = /<p><b>([\s\S]*?)<\/p>/i;
  var match = myRegexp.exec(response.getContentText());
  var contents = match[1];
  //不要なタグを除く
  contents = contents.replace(/<([\s\S]*?)>/g, "");
  return contents;
}

スプレッドシートのA1にAAを貼る

参考

「GASって何?」だった僕が、Google Analyticsの情報をChatWorkにポストするbotを作るまでにやったこと