如何使用IMPORTDATA抓取PCHome網頁價格

我們想要買產品都會到網路上查詢價格,PCHome的價格是透過API回傳json格式的價格,所以您用檢視原始碼是找不到任何價格的資訊,我們可以使用它查詢的API,再透過IMPORTDATA就可以把價格資料抓取到試算表,並依逗號儲存在不同的儲存格內。

API連結

https://ecapi.pchome.com.tw/ecshop/prodapi/v2/prod?id=DSAR0V-A900BN23M

https://youtu.be/s-ZOmht7vVU

試算表使用len跟right函數取出價格

使用IMPORTDATA抓取PCHome網頁讀取到的價格格式是P:4690,那要如何取出4690這個價格,我們可以利用len函數取出儲存格全部的長度,再利用right從右邊開始取總長度減2(P:的長度),就可以輕鬆取出價格。

https://youtu.be/P6jnlFDsTJY

利用setValue將查詢的價格寫回試算表

我們若想要將每天查詢的價格寫回試算表,可以找到最後一筆的列數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());  

}

https://youtu.be/mUSVRWXtKvA

當產品價格跟前一筆價格不同時自動寄送mail通知

我們再寫回試算時可以跟前一筆的價格去做比較,若價格不一樣我們就用email通知價格有異動。