什麼!? n8n也能做爬蟲,使用cheerio在n8n裡做爬蟲

用 js 做爬蟲,應該沒人不認識 cheerio 吧。
原來 cheerio 還能在 n8n 裡面跑
今天說的不是自己開發節點,如果你想知道如何開發節點,可以去看我相關文章。
那麼要使用什麼爬蟲?當然是 Code 節點。


就這麼簡單嗎?可以直接使用?
如果你直接在 Code 的裡使用 require
如果你直接使用 cheerio 你只會發現找不到這個 module。

那要怎麼使用呢?
設定環境變數
如果你要在 Code 裡使用 require 必須使用 NODE_FUNCTION_ALLOW_EXTERNAL
export NODE_FUNCTION_ALLOW_EXTERNAL='cheerio'
如果你還想使用更多函數庫,就在裡面用半形逗號隔開。
這樣就能在 Code 節點裡使用 cheerio 製作爬蟲了。
發現不能使用其他函數庫?
目前你能無痛直接使用的函數庫,可以參考 n8n github 的 npm 安裝檔案
https://github.com/n8n-io/n8n/blob/master/pnpm-lock.yaml
裡面是你能在 n8n 中,設置 NODE_FUNCTION_ALLOW_EXTERNAL
就能 require 的函數庫。
但要是不在裡面的函數庫呢?
你需要在 n8n 的安裝目錄下 npm install {your_library} 來安裝。
你可以在 /usr/local/lib/node_modules/n8n 找到 n8n 安裝目錄。
安裝完畢後在 NODE_FUNCTION_ALLOW_EXTERNAL
後面增加你要的函數庫名稱就可以了。
如何使用 Node.js 內建函數庫?
要使用內建函數庫,與 NODE_FUNCTION_ALLOW_EXTERNAL
不同,NODE_FUNCTION_ALLOW_EXTERNAL
是給外部函數庫使用的。
如果要使用 Node.js 內建的函數庫,像是 fs
讀寫檔案。要使用 NODE_FUNCTION_ALLOW_BUILTIN
export NODE_FUNCTION_ALLOW_BUILTIN="fs"
你也可以 * 乾脆內建函數庫全部都可以使用。
NODE_FUNCTION_ALLOW_BUILTIN="*"
工商時間
如果你有使用自動化的需要
歡迎透過 Facebook, IG, Threads 聯絡我:
Facebook: https://www.facebook.com/mason276752
IG, Threads: @mason276752