社群媒體資料是市場研究、趨勢分析和競爭情報的金礦——但要透過程式化方式存取卻出了名地困難。平台會主動封鎖爬蟲、變更 API 要求複雜的驗證流程。MediaCrawler 已成為應對這一挑戰最受歡迎的開源解決方案之一,擁有超過 30,000 個 GitHub 星星,並支援所有主要的中文社群媒體平台。
位於 github.com/NanmiCoder/MediaCrawler 的專案提供了一個統一的框架,用於從小紅書、抖音、快手、Bilibili、微博等平台爬取資料。它使用 Playwright 進行瀏覽器自動化、IP 輪換和 Cookie 管理,以繞過反爬蟲措施。結果是一個可靠的資料管線,用於提取貼文、留言、使用者個人資料和互動指標。
MediaCrawler 的受歡迎源於其務實的設計。它不是一個通用的爬蟲函式庫,而是針對每個支援平台的特性進行了專門調整——登入流程、速率限制、回應格式和反機器人偵測機制都已內部處理。使用者設定目標(關鍵字、使用者 ID、話題標籤),爬蟲會處理其餘工作。
什麼是 MediaCrawler?
MediaCrawler 是一個開源、多平台的社群媒體資料爬蟲,使用基於 Playwright 的瀏覽器自動化來收集主要社群平台上的內容。它支援基於搜尋的爬取(按關鍵字)、基於使用者的爬取(按使用者 ID)和留言收集。資料以結構化 JSON 格式輸出,用於下游分析。
支援哪些平台?
MediaCrawler 支援所有主要的中文社群媒體平台以及越來越多的國際平台。
| 平台 | 類型 | 爬取模式 |
|---|---|---|
| 小紅書 | 生活/內容分享 | 搜尋筆記、使用者筆記、留言 |
| 抖音 | 短影片 | 搜尋影片、使用者影片、留言 |
| 快手 | 短影片 | 搜尋影片、使用者影片 |
| Bilibili | 影片串流 | 搜尋影片、使用者影片、留言 |
| 微博 | 微網誌 | 搜尋貼文、使用者貼文、留言 |
| 知乎 | 問答平台 | 搜尋問題、答案 |
| 貼吧(規劃中) | 論壇 | 搜尋討論串 |
| TikTok 全球版(規劃中) | 短影片 | 搜尋影片 |
每個平台都有根據其 API 行為和反爬蟲措施量身定制的爬取策略。
MediaCrawler 採用什麼技術?
MediaCrawler 建立在完善的 Python 函式庫堆疊之上,用於網頁自動化和資料處理。
| 元件 | 技術 | 用途 |
|---|---|---|
| 瀏覽器自動化 | Playwright | 無頭瀏覽器控制 |
| 代理管理 | 自訂 IP 輪換 | 繞過速率限制和封鎖 |
| Cookie 管理 | 持久性 Cookie 儲存 | 維持登入工作階段 |
| 資料提取 | CSS/XPath 選擇器 | 解析頁面內容 |
| 資料儲存 | JSON、CSV、MySQL | 輸出收集的資料 |
| 並發 | asyncio | 並行爬取 |
| 反偵測 | 自訂隱身修補 | 避免機器人偵測 |
基於 Playwright 的方法意味著 MediaCrawler 像真實使用者一樣與頁面互動,與僅基於 HTTP 請求的爬蟲相比,平台更難偵測。
MediaCrawler 有哪些主要功能?
MediaCrawler 提供了超越基本內容提取的全面爬取能力。
| 功能 | 描述 |
|---|---|
| 關鍵字搜尋爬取 | 收集所有符合搜尋條件的貼文/影片 |
| 使用者個人資料爬取 | 提取特定使用者的所有內容 |
| 留言收集 | 收集貼文上的留言和回覆 |
| 自動登入 | 每個平台支援憑證或 QR 碼登入 |
| 代理輪換 | SOCKS5/HTTP 代理池以實現 IP 多樣性 |
| 速率限制 | 可設定的延遲以避免偵測 |
| 增量爬取 | 從最後檢查點恢復 |
| 結構化輸出 | 跨平台統一欄位名稱的 JSON |
MediaCrawler 有 Pro 版本嗎?
核心 MediaCrawler 專案是完全開源且免費的。開發者提供了一個「Pro」版本,為商業使用者提供額外功能。
| 功能 | 開源版 | Pro 版 |
|---|---|---|
| 平台支援 | 6 個平台 | 10+ 個平台 |
| 代理支援 | 基本 SOCKS5 | 進階輪換代理 |
| 資料匯出 | JSON + CSV | JSON、CSV、MySQL、Elasticsearch |
| 速率限制 | 手動設定 | 自適應 AI 速率限制 |
| 支援 | GitHub Issues | 專屬支援頻道 |
| 授權 | MIT | 商業授權 |
Pro 版本主要針對運行大規模資料收集管線的企業。
常見問題
什麼是 MediaCrawler?
MediaCrawler 是一個開源 Python 工具,用於從小紅書、抖音、Bilibili、微博等平台爬取社群媒體資料。它使用 Playwright 瀏覽器自動化來提取貼文、留言和使用者資料。
支援哪些社群媒體平台?
小紅書、抖音、快手、Bilibili、微博和知乎。TikTok 全球版計劃在未來版本中支援。
MediaCrawler 使用什麼技術?
Playwright 用於瀏覽器自動化、asyncio 用於並行爬取、可設定的 IP 輪換以及用於維持工作階段的持久性 Cookie 管理。
MediaCrawler 有哪些主要功能?
關鍵字搜尋爬取、使用者個人資料提取、留言收集、自動登入、代理輪換、速率限制、增量爬取和結構化 JSON 輸出。
MediaCrawler 有 Pro/企業版本嗎?
有的。Pro 版本提供額外的平台、進階代理管理、自適應速率限制以及針對企業使用者的商業支援。
延伸閱讀
flowchart TB
A[使用者設定] --> B[MediaCrawler 引擎]
B --> C{選擇平台}
C --> D[小紅書]
C --> E[抖音]
C --> F[Bilibili]
C --> G[微博]
D --> H[啟動 Playwright]
E --> H
F --> H
G --> H
H --> I[登入 + Cookie 管理]
I --> J[導航至目標]
J --> K[提取資料]
K --> L[解析與正規化]
L --> M[JSON 輸出]
M --> N[分析管線]graph LR
subgraph 資料管線
A[搜尋關鍵字] --> B[自動登入]
B --> C[選擇代理]
C --> D[頁面爬取]
D --> E[資料解析]
E --> F[格式化 JSON]
end
subgraph 儲存
F --> G[本機檔案]
F --> H[資料庫]
F --> I[資料倉儲]
end
subgraph 反偵測
J[使用者代理輪換]
K[類人延遲]
L[IP 輪換]
M[隱身修補]
end
無程式碼也能輕鬆打造專業LINE官方帳號!一鍵導入模板,讓AI助你行銷加分!