iT邦幫忙

2025 iThome 鐵人賽

DAY 14
0
自我挑戰組

一路side project - 學習筆記系列 第 14

[Day 14] GU價格提醒系統 (8) - [學習筆記] n8n : 每筆間隔 5 秒去撈資料_ Loop的使用

  • 分享至 

  • xImage
  •  

Review 一下前兩天做的東西,我們使用固定參數(women_all)呼叫我們所設的服務,並加上了訊息通知,如果沒成功拿到資料,dc 就會跳通知。

但現在有個問題,我們商品種類很多,要怎麼全部都拿呢 ?
/images/emoticon/emoticon06.gif

根據本米觀察網頁和回傳的 Payload,GU 的商品類別有分 parent 和 child

  • parent:WOMEN / MEN / KIDS
  • child:在 WOMEN 底下就會有 tshirtsweat (women_tshirtsweat), knitandcardigan (women_knitandcardigan) ... 等, 而在 knitandcardigan下還會把 knit 和 cardigan 分開看的類別 (women_knitandcardigan_knit)

我們透過這個可推知男生和小孩的衣服應該也是這種邏輯,
而這個專案所要做的是要拿取所有商品,也就是女生、男生和小孩的都要拿,
Q. 那這時候我們只要拿哪幾個類別就好呢 ?

.

.

.

.

.

(Ans.) 沒錯,就是 women_all、 men_all 、kids_all

現在有兩種方法可以做:

  1. 更改我們寫的 api 就好,只要打這 api 就是直接抓三個父類別
  2. 不改程式碼,改 n8n ,我們可以在 HTTP Request 節點前加入可以幫我分開給這三個參數的節點當 input 即可。

(:既然用 n8n 了 我們就試試看 n8n 方法要怎麼做吧)
開始正題 !


加入array

  • 在下面額外加入節點,點 "Data transformation" -> "Edit Fields"
  • fields 中:
    • name 輸入 categories
    • 類型選 Array
    • value 輸入 {{ ["women_all","men_all","kids_all"] }}
      https://ithelp.ithome.com.tw/upload/images/20250927/20154764juk3DJeaTY.png

分割array

  • 拉出新節點,"Data transformation" -> "Split Out"
  • Fields To Split Out 輸入 categories
  • 執行後可看到我們成功有了3個input items了
    https://ithelp.ithome.com.tw/upload/images/20250927/20154764gvRvikrGRe.png

使用 loop 執行

  • Split Out 後拉出新節點,"Flow" -> "Loop Over Items"
  • Batch Size 設為 1 ,代表一次只送出 1 個 item
  • 接上 ( Wait) -> HTTP Request
  • HTTP Request 內 之前設category 的 value 改成 {{ $json.categories }}
    • 可以透過旁邊input 拖拉參數過去空格
  • HTTP Request 接回 Loop 的 input

https://ithelp.ithome.com.tw/upload/images/20250927/20154764HqCPhn5PB5.png


增加等待時間 (建議)

為了安全起見,建議要加入等待時間,畢竟一次拿那麼多資料很容易失敗

  • "Flow" -> "Wait"
  • 他會接在 HTTP Request 前面

https://ithelp.ithome.com.tw/upload/images/20250927/20154764Y0JVmYJGJY.png

  • 如果有加上 Wait 整個流程會長這樣
    https://ithelp.ithome.com.tw/upload/images/20250927/20154764OkiAh3RBXt.png

執行看看,可以看到前面執行完每隔五秒他才會去執行下一個items


Conclusion

今天做了把 三筆變成一筆一筆、每筆間隔 5 秒去撈資料,明天開始寫入資料庫吧!
明天見

/images/emoticon/emoticon78.gif


上一篇
[Day 13] GU價格提醒系統 (7) - [學習筆記] n8n : Discord 訊息通知
下一篇
[Day 15] 關聯式資料庫 vs. 非關聯式資料庫
系列文
一路side project - 學習筆記17
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言