身為一個獨立開發者,我最羨慕大公司的地方,不是他們的工程師人數——是他們有專人做 market intelligence。
大公司可以養一個人,每天看競品的定價頁、追蹤競爭對手的更新、整理市場趨勢。我只有一個人,連自己的產品都寫不完,哪有時間做這些?
但我後來發現一件事:大部分競品資訊不難取得,只是沒有人把它們串在一起。
需求場景
我目前在開發的產品面對好幾個競品。我需要知道:
1. 競品的定價有沒有調整?
2. 他們有沒有推出新功能?
3. 他們在 tech media 上被報導了什麼?
這些資訊分散在各自的網站、部落格、新聞來源。每天手動檢查大概要花 30 分鐘。一個月就是 15 小時的成本。
那如果讓機器來做呢?
三層爬蟲架構
我設計了一套三層的資訊收集系統,全部架在 Apify 上。
第一層:RSS Feed Scraper
最多競品有公開的 blog 或 changelog,而且幾乎都有 RSS Feed。用 rss-feed-scraper(由社群維護的 Actor)可以一次餵入多個 feed URL,輸出統一的 JSON。
輸入設定很簡單:
`
feeds: [
"https://competitor1.com/blog/feed.xml",
"https://competitor2.com/changelog.xml",
"https://competitor3.com/rss"
]
`
輸出是一份 list,每筆包含 title、link、pubDate、content。比 RSS reader 更好的是,我可以把這些資料餵進下一步處理。
這個 actor 支援 RSS 2.0、Atom、RDF,涵蓋了幾乎所有常見格式。每小時一次的排程成本極低——feed 本身是輕量級的 XML,不需要渲染 JS。
第二層:Cheerio Scraper
有些資訊不在 RSS 裡,例如定價頁、產品功能對照表、或是沒有 RSS 的網站。這些需要用 scraper 處理。
Apify 的 apify/cheerio-scraper 是這個場景的最佳選擇。
Cheerio Scraper 用 raw HTTP request 爬取網頁,不需要瀏覽器渲染——所以速度非常快,成本也很低。我只需要在 Page Function 裡寫一段簡單的選擇器:
`javascript
async function pageFunction(context) {
const { $, request } = context;
// 抓定價資訊
const price = $('.pricing-card .price').text().trim();
const planName = $('.pricing-card .plan-name').text().trim();
return {
url: request.url,
planName,
price,
currency: $('meta[property="og:price:currency"]').attr('content'),
timestamp: new Date().toISOString()
};
}
`
我設定了每天爬一次競品的 pricing page,然後把結果跟昨天的比對。如果 price 變了——就是競品調價了。
第三層:Web Scraper + 排程通知
有些網站的內容需要 JavaScript 渲染——例如 React 寫的 landing page、SPA 應用的 dashboard。這些時候 Cheerio 不夠用,需要 apify/web-scraper。
Web Scraper 使用真實瀏覽器渲染頁面,支援 Puppeteer 和 Playwright。寫法跟 Cheerio Scraper 類似,但可以執行任意的 DOM 操作。
這層我拿來抓那些「動態載入」的競品資訊:例如競爭對手的客戶案例頁(通常是 infinite scroll)、或是有動態定價的 SaaS 首頁。
三層的結果統一寫到一個 MongoDB collection,結構很簡單:
`json
{
"source": "cheerio-scraper",
"competitor": "competitor-x",
"type": "pricing",
"data": { "plan": "pro", "price": "$29/mo" },
"crawled_at": "2026-07-14T00:00:00Z"
}
`
異常偵測
單純搜集資料不夠。如果每天要看一堆報表,那就違反了「省時間」的初衷。
所以我加了一層異常偵測:比較每次爬到的結果,當數值發生變化時,發一條 Telegram 通知。
變化偵測邏輯很單純:
- 如果是數字(價格、容量等),看 delta 超過門檻就通知
- 如果是文字(新功能描述),比對 hash 是否不同
- 如果是新文章(RSS),直接推送
每月花費?Apify 這三隻 Actor 加起來大概 $5–10/月——比一個人的十分之一工時還要便宜。
跟我產品的關係
你可能會問:你上一篇說在做 VerifyAI(一個逆向搜圖服務),怎麼現在又在做競品監控?
因為這兩件事是同一件事。
VerifyAI 的核心是「幫助人們查證資訊的真偽」。而競品監控,本質上也是資訊查證——只是查的不是照片,是市場的真實狀態。
我做 VerifyAI 時學到的教訓——照片可以逆向搜圖來驗證——同樣適用於市場資訊。不要相信你的直覺,不要相信別人的說法。去爬原始資料,讓數據說話。
Cheerio Scraper、Web Scraper、RSS Feed Scraper — 這三隻 Actor 就是我的「市場查證工具」。
如果你想自己做類似的系統,這三行就是起點:
1. RSS Actor 抓部落格
2. Cheerio Actor 抓靜態定價頁
3. Web Scraper 抓動態內容
然後串一條通知管線。一個週末就能搞定。