Home
Login

MediaCrawler 是一個功能強大的多平台自媒體爬蟲工具

NOASSERTIONPython 23.7kNanmiCoder Last Updated: 2025-06-20

MediaCrawler - 多平台自媒體爬蟲工具

項目概述

MediaCrawler 是一個功能強大的多平台自媒體爬蟲工具,由 NanmiCoder 開發維護。該項目基於 Playwright 技術,能夠抓取多個主流社交媒體平台的公開信息,包括內容、評論等數據。

技術架構

核心技術

  • Playwright: 作為瀏覽器自動化框架,保留登錄狀態的瀏覽器環境
  • Python: 主要開發語言,版本要求 3.9.6+
  • JavaScript執行: 通過執行JS表達式獲取加密參數
  • Node.js: 版本要求 16+

工作原理

項目採用 Playwright 搭橋的方式,保留登錄成功後的上下文瀏覽器環境,通過執行 JavaScript 表達式獲取一些加密參數。這種方式免去了復現核心加密 JS 代碼的複雜工作,大大降低了逆向工程的難度。

環境要求

系統要求

  • Python 3.9.6+
  • Node.js 16+

依賴管理

項目新增了 uv 來管理項目依賴,可以使用 uv 來替代傳統的 pip 進行依賴安裝,更加方便快捷。

安裝部署

基礎安裝步驟

# 進入項目根目錄
cd MediaCrawler

# 創建虛擬環境
python -m venv venv

# 激活虛擬環境
# macOS & Linux
source venv/bin/activate
# Windows
venv\Scripts\activate

# 安裝依賴
pip install -r requirements.txt

# 安裝playwright瀏覽器
playwright install

數據庫初始化(可選)

# 執行數據庫初始化(僅首次執行)
python db.py

使用方法

基本命令

# 關鍵詞搜索爬取
python main.py --platform xhs --lt qrcode --type search

# 指定帖子ID爬取
python main.py --platform xhs --lt qrcode --type detail

# 查看幫助信息
python main.py --help

配置說明

  • 項目默認不開啟評論爬取模式
  • 如需爬取評論,請在 config/base_config.py 中修改 ENABLE_GET_COMMENTS 變量
  • 其他功能配置也可在 config/base_config.py 中查看,均有中文註釋說明

數據存儲

支持的存儲方式

  1. MySQL數據庫: 支持關係型數據庫存儲(需提前創建數據庫)
  2. CSV文件: 保存到 data/ 目錄下的CSV格式文件
  3. JSON文件: 保存到 data/ 目錄下的JSON格式文件

Pro版本優勢

項目還提供了 MediaCrawlerPro 版本,相較於開源版本具有以下優勢:

  • 多賬號+IP代理支持(重點功能)
  • 去除Playwright依賴,使用更加簡單
  • 支持Linux環境使用
  • 代碼重構優化,更易讀易維護
  • 解耦JS簽名邏輯,代碼質量更高
  • 完美的架構設計,更易擴展
  • 新增自媒體視頻下載器桌面端軟件
  • 支持多平台首頁信息流推薦(HomeFeed)

法律聲明

免責聲明

  • 本項目僅供學習和研究使用,禁止用於商業用途
  • 嚴禁用於非法目的或侵犯他人合法權益
  • 使用者需遵守相關法律法規,自行承擔法律責任
  • 開發者不承擔因使用本項目而引起的任何法律責任

項目價值

MediaCrawler 不僅僅是一個爬蟲工具,更是一個優秀的學習項目:

  1. 架構設計學習: 項目架構設計成熟,值得學習借鑒
  2. 技術實踐: 涵蓋多種技術棧的綜合應用
  3. 工程化思維: 從代碼組織到部署的完整工程化實踐
  4. 反爬蟲技術: 學習現代反爬蟲技術的應對方案