過去の失敗
しかし、素晴らしいスプレッドシート関数を知った。
IMPORTXML関数
例
IMPORTXML("https://en.wikipedia.org/wiki/Moon_landing", "//a/@href")
概要
XML、HTML、CSV、TSV、RSS フィード、Atom XML フィードなど、さまざまな種類の構造化データからデータをインポートします。
URL
検証するページの URL です。プロトコル(「http://」など)も含めます。
XPathクエリ
構造化データで実行する XPath クエリです。
解析したいページの要素をスプレッドシート上に展開
サンぷるとして適当に新宿の安全ナビを開いて、
https://www.gaccom.jp/safety/search/?p=13&c=104
だいたいのclassがわかります(今回の場合は、liタグのmdl-list__itemクラス)
ここまで来たら、スプレッドシート上に1行、関数を書くだけです。
=IMPORTXML("https://www.gaccom.jp/safety/search/?p=13&c=104", "//li[@calss='mdl-list__item']//h5[@calss='info_title']")
スクリプトエディタからスプレッドシート上のセルと読み込むだけ
function hoge(){
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("test");
var arr = sheet.getRange(1, 1, sheet.getLastRow(), 2 ).getValues();
arr.map(function(e) {return e.filter(function(f) {Logger.log(f)})});
}
すっごい楽!