iT邦幫忙

2025 iThome 鐵人賽

0
生成式 AI

30 天生成式 AI 工作流:社群經營者的自動化實戰系列 第 31

Day 31|不負責的真實工作流:用n8n爬出IThome鐵人賽的實況

  • 分享至 

  • xImage
  •  

數字不會說謊,它只是需要我們去翻開。

在連續三十天的鐵人賽挑戰後,我們其實已經慢慢養成一個習慣:看到問題,就會自然地想「能不能用 n8n 解決?」。

雖然有些情境,用 Google App Script 或其他工具也能做到,但既然這段時間已經熟悉了 n8n,順手做一個工作流反而更快。

今天要來試驗的,是 IThome 鐵人賽的完賽狀況

參加鐵人賽有點像跑馬拉松:比起競爭,更多是自我挑戰。不過,偶爾也會好奇大家的參賽狀況,到底如何?

幸運的是,官方其實有公開頁面:

👉 https://ithelp.ithome.com.tw/2025ironman/signup/list

在 Day16 ~ Day21,我們玩過「簡單的爬蟲」,去爬一個書籍範例網站。當時的網站算「好爬」,就像是給新手練習用的。但真實情況呢?這次我們要挑戰的,就是 如何從鐵人賽的真實網站,抓下參賽數據,並整理成清楚的戰況表

今天的模板在此下載(連結


主要設計思路

https://ithelp.ithome.com.tw/upload/images/20250930/20178495Drdb5N2dpj.png

觀察後發現,這個頁面一共有 91 個分頁

網址的規律是這樣的:

https://ithelp.ithome.com.tw/2025ironman/signup/list?page=n

因此我們需要一個 迴圈(loop),把這 91 頁的資訊都抓下來。

每個頁面都有這些資訊可以被擷取:

  • 標題(參賽主題)
  • 參賽文章的連結
  • 完成進度(百分比)
  • 狀態:完成、挑戰中、失敗

設計流程大致上是:

  1. 用迴圈抓取每一頁資料。
  2. 擷取需要的欄位(標題、連結、進度、狀態)。
  3. 存到 Google Sheet
  4. 每日自動更新,之後就能做分析。

成果公開在這裡 👉

Google Sheet 賽況表


實際遇到的問題

在真實網站操作,難免會遇到一些「卡住」的地方:

  1. HTTP Request 403 錯誤
    • 問題:直接發請求會被擋下。
    • 解法:加上 User-Agent(模擬成瀏覽器)就能順利抓取。
  2. Google Sheet 更新太快
    • 問題:如果一次寫入太多資料,Google Sheet 會跳出「超出限制」的錯誤。
    • 解法:我用了兩招:
      • 在流程中加 Wait 節點,延遲 5 秒再寫。
      • 若還是錯誤,就利用 錯誤輸出(error branch),把失敗的資料回送,再試一次。(這算是一個「偷吃步」,因為錯誤不一定都跟寫入速度有關,但實測蠻管用 😂)

小作業挑戰

我們目前只做到:

  • 每天更新一次
  • 計算有多少人成功、挑戰中、失敗

👉 你可以進一步延伸:

  • 進入參賽者的文章頁面,爬取「每日文章數據」
  • 分析觀看量、互動數
  • 做一份「參賽者內容熱度排行榜」

這樣,你不只是在收集數據,而是能轉換成真正有趣的 社群觀察報告


交流

我建立了一個行銷技術交流群,專注討論 SEO、行銷自動化等主題,歡迎有興趣的朋友一起加入交流。

掃QR Code 或點擊圖片加入

https://ithelp.ithome.com.tw/upload/images/20250901/20178495xURUZaqziV.jpg

另外也有一個TG 群,屬於更廣的遠距工作者,也歡迎持續關注。
Telegram 群組: https://t.me/tg_021up


上一篇
Day 30|30 天挑戰最終回 ✨ 從工具到靈魂,走完一場自動化的修煉之旅
系列文
30 天生成式 AI 工作流:社群經營者的自動化實戰31
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言