爬蟲完成後沒發出通知,就像是黯然銷魂飯少了洋蔥
透過接收通知,知道爬蟲執行完畢
知道爬蟲有沒有穩定執行
就好在通知這個部分我選擇使用 LINE Notify
作為範例,你在了解邏輯後也可以自己改為用 Slack、Wechat、Messager... 等通訊軟體來通知喔
2.1 為什麼要先用 POSTMAN 測試 LINE Notify 呢?
2.2 用 POSTMAN 發出 LINE 的訊息
2.3 透過 POSTMAN 傳送錯誤參數來了解 HTTP狀態碼的意思
個人頁面
發行權杖
填寫與功能相關的名稱
,接收通知的聊天室可選擇 1對1、任意聊天室
這兩種,確認無誤後按 發行
複製
下來#放LINE Notify申請的權杖
LINE_TOKEN='XXXXXX'
說明這個問題之前,我們先來探討為什麼 POSTMAN 會這麼被工程師推崇,在這我歸納成以下幾點:
將前後端責任歸屬的很清楚
。ex:如果 POSTMAN 上面可以正常 work,那前端就要去思考自己 api 哪裡沒串好工具操作難度極低
,只需要對網路的世界有基礎的認知就能快速上手所以我們先用 POSTMAN 測試 LINE Notify 的理由是:
執行所需的 Request 參數、Respone 的結果與說明書一致
(這點非常重要,因為我看過很多 api 回傳的結構跟說明書完全不一樣)在一行程式都不用寫
的狀態下測試所有的可能性如果程式無法發出 LINE 的通知一定是自己的問題
補充:
form-data:
key | value | DESCRIPTION |
---|
message|來自寶寶的爬蟲通知|純文字(必填)
stickerPackageId|2|貼圖的PackageId
stickerId|144|貼圖的Id
imageFile|icon.png|電腦上的圖片檔
DESCRIPTION 是我對參數描述,實作上可以不避填
如果你想深入的了解可以參考官方文件
Send
發出 LINE 訊息
我們剛剛在 POSTMAN 的 Response 看到 HTTP狀態碼為 200,接下來我們故意做一些錯誤測試來看看會有什麼樣的 Response
請注意並不是每隻 api Response data 中的 status 都等於 HTTP狀態碼
,只是 LINE Notify 剛好是依照這個邏輯顯示,我們可以用它來幫助我們對 HTTP狀態碼的了解
透過上面的範例回傳的資訊,我們可以了解到不同 HTTP狀態碼的意思:200 代表成功、400可能是參數錯誤、401是沒有授權
,當然 HTTP狀態碼不只這些,如果你想更深入的了解可以參考這篇文章
我在 Medium 平台 也分享了許多技術文章
❝ 主題涵蓋「MIS & DEVOPS、資料庫、前端、後端、MICROSFT 365、GOOGLE 雲端應用、自我修煉」希望可以幫助遇到相同問題、想自我成長的人。❞
在許多人的幫助下,本系列文章已出版成書,並添加了新的篇章與細節補充:
- 加入更多實務經驗,用完整的開發流程讓讀者了解專案每個階段要注意的事項
- 將爬蟲的步驟與技巧做更詳細的說明,讓讀者可以輕鬆入門
- 調整專案架構
- 優化爬蟲程式,以更廣的視角來擷取網頁資訊
- 增加資料驗證、錯誤通知等功能,讓爬蟲執行遇到問題時可以第一時間通知使用者
- 排程部分改用 node-schedule & pm2 的組合,讓讀者可以輕鬆管理專案程序並獲得更精確的 log 資訊
有興趣的朋友可以到天瓏書局選購,感謝大家的支持。
購書連結:https://www.tenlong.com.tw/products/9789864348008