Easy data scraping with Google Apps Script in 5 minutes ~ kutil.org
スクリプト作成
Googleドライブから「新規作成」-「その他」-「Google Apps Script」からスクリプト作成 ※「Google Apps Script」がない場合は「新規作成」-「その他」-「アプリを追加」から「Google Apps Script」を追加
Parserを追加
「スクリプト」-「ライブラリ」から「ライブラリを検索」に「M1lugvAXKKtUxn_vdAG9JZleS6DrsjUUV」を選択
function myFunction() { var html = UrlFetchApp.fetch('http://www.city.imabari.ehime.jp/').getContentText("Shift_JIS"); //getContentTextは引数がないとUTF-8、ShitJISの場合は文字化けするので指定 var lists = Parser.data(html).from('<div id="osirse">').to('</div>').build(); // Logger.log(lists); var dt = Parser.data(lists).from('<dt>').to('</dt>').iterate(); // Logger.log(title); var dd = Parser.data(lists).from('<dd>').to('</dd>').iterate(); // Logger.log(description); for(i=0;i<dt.length;++i){ var description = dd[i].replace(/<("[^"]*"|'[^']*'|[^'">])*>/g, ''); //タグ除去 Logger.log(dt[i] + ' ' + description) } }
- from().to()はfromとtoに挟まれた部分を抜き出し ※正規表現は使えないの抽出後加工
- build()で文字列(1つ)
- iterate()で文字列の配列(複数)
タグ補完されずソースそのままなのでタグが閉じてなかったりすると抽出するのが難しい