這篇將會教你如何透過 n8n 製作一個抓取 Framer 最新消息的流程,未來也可以應用在其他國外論壇的最新文章追蹤!
前置準備
在 n8n 的 Data Table 開一個新 Table 新增以下欄位
這個格式未來也可以相容其他新聞格式,保留未來的擴充性。

在這篇文章中,你會學到什麼?
你會學到如何抓取需要的新聞,並自動翻譯成指定語言,如果想在第一時間發佈跟某領域主題相關的新聞來分享第一手消息並獲取流量,也很實用!
💡
我會把 n8n 完整模板附在文末,只要註冊(訂閱免費電子信)就可以解鎖模板與其他免費會員限定文章囉。

另外也補充說明,當前做法的流程是抓取最新貼文、與資料庫比對哪些存在、哪些不存在,並將不存在(也就是新的貼文)傳送到 Discord 與儲存到資料庫。
另一種做法是直接將 Schedule Trigger 與 FILTER 結合,假設我的 Schedule Trigger 是每 10 分鐘觸發一次,那我的 FILTER 就篩選出近 10 分鐘的貼文。
但這樣做有一個缺點,那就是有可能會漏掉,如果 n8n 臨時出錯或是正在更新,就有可能會漏掉資訊,所以才會需要建立 Data Table 來比對找出還沒發過的貼文。
n8n Framer 新聞串接教學
第一步:基本說明
開頭使用的是 Schedule Trigger,用來定時抓取新文章,頻率設置的越快,觸發頻率越高(抓取到更新的速度就越快)。
但同時也需要注意到呼叫的端點有沒有速率限制,因為這裡的 API 是直接找到 Framer 論壇原始呼叫的端點來使用的,所以我是設置每天偵測一次。
但如果你希望更快收到訊息,則可以設置每 10 分鐘抓一次,甚至每分鐘都抓也可以!
第二步:拆分(SPLIT)
每次呼叫都會抓取到多篇文章,我們需要將這個 List 拆成多個 items,方便後續比對哪些是已經存在的文章,哪些是新文章。

第三步:設置參數(SET)
我習慣在比對資料前,設置一個 SET 節點,將需要用的資料重新整理一次,方便後續比對使用。
這樣做的好處是,假設未來抓取來源的資料格式有變,我也只需要在設置參數的節點調整就好,不需要更動到整個工作流。

第四步:過濾出近期貼文(FILTER)
篩選出近三天的貼文,這樣做有一個優點是,當我們抓取資料庫當前有的資訊來比對時,可以只抓近 X 天的來比對,不需要抓取過往資料庫包含的資料來對比。

第五步:抓取當前貼文
在 Data Table 中,設置 Must Match All Conditions(符合所有條件),然後 From 設置 Framer、Time 設置最近 5 天的新聞。
這裡設置 5 天而非 3 天是因為要確保覆蓋到透過 FILTER 所抓取的所有貼文,所以假設 Data Table 抓取近 5 天,而 FILTER 篩選近 3 天,能確保當前資料庫不會因為時區不同而有影響。

第六步:比對新貼文
接下來設置的邏輯會是,假設 A(論壇)有的貼文,是 B(資料庫)沒有的,那就會將他們篩選輸出。