---
# System prepended metadata

title: 應用-想買東西？先派出機器人幫你監控價格吧！
tags: [新人資訊]

---

---
tags: 新人資訊
GA: G-YWCCFEGXSJ
---
[新人資訊](https://hackmd.io/@newman/portal-info)

# 應用-想買東西？先派出機器人幫你監控價格吧！

每次想到用一台電腦連上網就可以找到任何感興趣的資料，就覺得興奮；要娛樂可以要作嚴謹的研究也行，基本上可以期待網路上存在著「任何資料」，對於有限理解力和注意力的個人來說，可以說就是無限大的存在！再加上社群生態的成熟，不只滿足知識的需求，透過網路也可以實際運作各式各樣的商業模式或社會運動，歷史上從來沒有一個時代對許多社交能力不太好的宅宅如此友善，網路不會使人際關係疏離，反而擴大了溝通的管道而聯繫的更緊密。

基於以上信念，我每天總是花費大量的時間在閱讀線上文章，電子書，新聞，線上課程，Youtuber 或 Podcaster 的分享，深深體會到人的注意力是今時代的稀缺資源，逐漸也對五花八門的網路世界產生更嚴格的篩選機制，當我接觸到「爬蟲」這種技術立刻就產生濃厚興趣，用程式幫我上網的概念。陸陸續續東爬西爬，一般公開的 csv, json, html, 表格類資料當然是可以，太雜亂的資料用 regular expression 來對付，要經個人化帳號密碼認證的也沒有問題 (不是破解只是合法的自動化取得自己的資料)，最近連 pdf 內容也爬進去了，逐漸的歸納出一些應用類型，今天就來描述一下「價格監視器」的用途。

依照個人親自經歷和觀察，當我們想要探索一個領域，或已經確定要買特定東西，總要經歷一段時間的觀察，對商品規格和價錢多方作比較，有些人較快作成購買決策，也有些人會觀察很久，等到對東西的喜歡程度到達一個高峰，同時遇到價格甜蜜點出現，然後順理成章的完成快樂購物流程。所以我就想設計一個價格監視機器人，每天自動到特定網站查詢，把關鍵資訊記起來，同時即時用 Line 通知。如前一陣子我想要入手折疊腳踏車，預期要可以搭配大眾運輸或小轎車，用這種不太快不太慢的方式到處優遊！從起心動念到入手大概花了一個月，到後來主要品牌和功能規格大小等等都已經非常熟悉了，這段時間若再搭配一些自動化爬蟲機器人那就更事半功倍了。

這次就用我實際關心的兩樣商品為例，一是「氮化鎵充電器」，這是有賴近年來非矽基的化合物半導體技術逐漸成熟，讓原本帶筆電出門要同時攜帶又大又笨重的變壓器成為過去式，重量輕體積小瓦數又大的氮化鎵充電器已經逐漸普遍，Macbook 使用 45W 這個比較早問世，其他 windows 電腦大部分需要 65W 以上，強調效能的開發機或電競機甚至需要到 100W，這個在半年前都還很稀少，目前技術快速進步中，因此我用「氮化鎵 100W」為關鍵字在 momo 搜尋，發現 100W 的目前接近 2000 元，非常好奇何時會降下來，因此我就設定這樣一個機器人，每天自動去 momo 查完資料記起來，並且用 Line 傳出來，我也已經做了簡單管理介面：https://newman-admin.azurewebsites.net/#/robot001

![](https://newprediction.blob.core.windows.net/notebook-img/qKPRHCe.png)

管理介面將一些重要的資訊顯示出來，如上一次執行時間，執行一次花費了幾分鐘，是否執行成功，執行完後將網頁截圖存起來，並把關鍵資訊解析出來，如這裡我把在 momo 搜尋結果中排名第一個品名和價格當作關鍵資訊存起來，這樣一段時間之後可以一目了然觀察趨勢，按下 hist 顯示歷史執行記錄，在此以另一項關心的商品為例，果然從某一天有降價：

![](https://newprediction.blob.core.windows.net/notebook-img/qOnkC8y.png)

此資訊同時會傳到特定的 Line 群組：

![](https://newprediction.blob.core.windows.net/notebook-img/4ZM9T95.png)

在螢幕截圖中可以順便觀察其他不同品牌的狀況：

![](https://newprediction.blob.core.windows.net/notebook-img/Hglknyx.png)

此機器人符合我自訂的呼叫規範，是用 python 所撰寫，活在我的一台舊筆電裡面，Console 畫面長這樣，右邊是 Heartbeat Service and Dotnet Listener，左邊的是 Python Listener：

![](https://newprediction.blob.core.windows.net/notebook-img/tsDZQKv.png)

Console 畫面可以查到在 21:00 和 21:05 分別傳出啟動訊息，順利把對應的機器人呼叫起來，這個 Schedule 設在資料庫裏面，當然也可以製作管理畫面以方便使用：

![](https://newprediction.blob.core.windows.net/notebook-img/dwxDjez.png)

設定完成之後每天九點 Line 會嘟一下，可能有人會覺得我很無聊，每天去 momo 網站查一下不就好了嗎？還這樣大費周章！阿這就是工程師的浪漫啊！重複的事情是不應該由人去做的，禁止，哈哈。當然機器人設好之後我也可以隨興的再去逛其他東西，重點是「隨興」，就是不喜歡每天做固定的動作，只要是人就會忘記，就會厭煩，只有機器不會。

不知這樣的應用有沒有激起一些人的興趣，讓我可以來開發各式各樣的機器人服務大家？

By Newman Chen 2022/10/28