使用 Apps Script+Google Sheets+Line Notify 打造591買房推播機器人

Jerry Wu
6 min readMay 15, 2022

--

近期剛好有在陸續看房,也約看了不少房子,當然也就會特別鎖定、關注某些物件,身為工程師當然就會想讓獲取最新物件資訊這件事情化被動為主動,因而就產生了此篇文章 XD

本篇文章將敘述如何從無到有,使用 Apps Script+Google Sheets+Line Notify,打造屬於自己的買房推播機器人!

1. 新增Google Sheets
2. 使用Google Sheets擴充功能Apps Script
3. 調整Apps Script必要之參數
4. 手動執行測試
5. 設定Apps Script觸發頻率
6. LINE群組結果呈現

1. 新增Google Sheets

至此連結新增一份Google Sheets
https://www.google.com.tw/intl/zh-TW/sheets/about/

並新增五個欄位依序為:[house ID]、[LINK]、[價錢]、[坪數]、[樓層]
完成後如下圖:

接著,重新命名表單名稱為 list

2. 使用Google Sheets擴充功能Apps Script

在Google Sheets上方找到 [擴充功能] → [Apps Script]

至此github專案中複製main.gs到剛剛開啟的Apps Script中
https://github.com/GengDeWu/591-House-Notify

3. 調整Apps Script必要之參數

3–1. 取得LINE Notify Token

第一階段 (LINE App中)
[開啟LINE App] → [建立一個群組] → [將LINE Notify這個角色加至此群組內]

第二階段 (LINE Notify官網)
[LINE Notify官網 https://notify-bot.line.me/zh_TW/] → [右上方登入自己的LINE帳號] → [點選右上方自己的名字] → [選擇個人頁面] → [移動至最下方選擇發行權杖] → [填寫權杖名稱(可以自行命名)] → [選擇在第一階段時建立的群組] → [按下發行]

第三階段 (Apps Script頁面)
[將第二階段取得的權杖字串,貼至Apps Script中 line_notify_token變數中]

3–2. 填寫search_city
填寫欲關注的縣市至search_city變數中
Ex: 台北市

3–3. 填寫search_query
[591官網 https://sale.591.com.tw/] → [選擇欲查詢的條件(此處以象山, 台北市 為例)] → [點選刊登時間!點選刊登時間!點選刊登時間! 很重要所以說三次!(此舉動會將新的物件資訊排在前面)]→ [開啟 F12 選擇 Network頁籤] → [如下圖找到此支API並將Query String字串複製至App Script的 search_query變數中]

選擇欲查詢的條件
複製QueryString字串

4. 手動執行測試

填寫完以上的參數後,將可以手動測試看看此專案是否可以正常運作!

第一次執行需要授權權限,流程大致如下圖:

點選[審查權限]
選擇你的Google帳戶
點擊[進階]
點擊[前往]
點擊[允許]

5. 設定Apps Script觸發頻率

確認執行無誤後,將來設定我們想要的觸發頻率啦!

選擇右方選的中[觸發條件]

目光移至頁面右下方,點擊[新增出發條件]按鈕,並依自己想要的頻率設定!

頻率設定範例

6. LINE群組結果呈現

下方就是依據你所設定的條件、頻率,若有新的物件LINE Notify就會通知你的呈現畫面啦!

LINE APP通知結果呈現

收了一陣子推播訊息也發現一些蠻有趣的現象XD,例如:房仲會在標題下其他社區名稱的關鍵字讓他的物件曝光度提高(所以有時會收到不相干的物件😅),同個物件各個房仲刊登的樓層都不同(物件到底是在幾樓啦😂), etc.

若對此 Apps Script 的流程有疑問或是有不錯的想法想添加,歡迎留言 or 發Issue討論喔!!!

Github: https://github.com/GengDeWu/591-House-Notify

謝謝你的閱讀!如果有任何回饋或疑問,歡迎留言給我!
如果對我的文章有興趣,請不吝按下Follow & Clap 😊

--

--

Jerry Wu

Full-Stack Engineer,熱愛接觸Web前後端、DevOps相關技術與知識,喜歡分享、旅遊和桌球🏓