はじめに
GoogleAppsScriptでWebスクレイピングをし、結果をGoogleスプレッドシートに保存する案件があったため調べてみました。簡単に出来るんだなとわかりました。参考にした以下サイトがわかりやすいです。
参考
Easy data scraping with Google Apps Script in 5 minutes
わかりやすい。感謝です。
コード
GET_DATA.gs:スクレイピングでデータを取得する
SAVE_DATA.gs:スプレッドシートにデータを保存する
の2プログラムを作成
GET_DATA.gs
function getData() {
var url = 'https://www.yahoo.co.jp/';
var fromText = '<title>';
var toText = '</title>';
var content = UrlFetchApp.fetch(url).getContentText();
var scraped = Parser
.data(content)
.from(fromText)
.to(toText)
.build(); //文字列
// .iterate(); //文字列の配列。結果が複数の場合はこちらを使用
Logger.log(scraped);
return scraped;
}
SAVE_DATA.gs
// GET_DATA.gs
function saveData() {
var spreadsheetId = 'スプレッドシートのID'
var sheetName = 'シート名'
var sheet = SpreadsheetApp.openById(spreadsheetId).getSheetByName(sheetName); // insert Spreadsheet Id and Sheet name
sheet.appendRow([ new Date(), getData() ]);
}
スプレッドシートIDの確認方法:【GAS】GoogleスプレッドシートIDの見方