我們想要買產品都會到網路上查詢價格,PCHome的價格是透過API回傳json格式的價格,所以您用檢視原始碼是找不到任何價格的資訊,我們可以使用它查詢的API,再透過IMPORTDATA就可以把價格資料抓取到試算表,並依逗號儲存在不同的儲存格內。
API連結
https://ecapi.pchome.com.tw/ecshop/prodapi/v2/prod?id=DSAR0V-A900BN23M
使用IMPORTDATA抓取PCHome網頁讀取到的價格格式是P:4690,那要如何取出4690這個價格,我們可以利用len函數取出儲存格全部的長度,再利用right從右邊開始取總長度減2(P:的長度),就可以輕鬆取出價格。
我們若想要將每天查詢的價格寫回試算表,可以找到最後一筆的列數getLastRow再加上1就可以把它寫在第一筆空白列上。
function writePrice()
{
//經驗分享-彰化一整天的blog <https://skill-bestdaylong.blogspot.com/>
var sheet = SpreadsheetApp.getActiveSheet(); //取得目前的試算表
var lastRow=sheet.getLastRow(); //取得儲存格的最後一筆列數
sheet.getRange(lastRow+1,1).setValue(new Date());
sheet.getRange(lastRow+1,2).setValue(sheet.getRange("B4").getValue());
}
我們再寫回試算時可以跟前一筆的價格去做比較,若價格不一樣我們就用email通知價格有異動。