MediaCrawler 是 GitHub 开源的多平台自媒体数据采集工具,集成小红书、抖音、快手、B 站、微博、贴吧、知乎 7 大主流平台。基于 Playwright 浏览器自动化复用登录态,绕过 JS 逆向签名难题,支持关键词搜索、二级评论、IP 代理池、词云图分析,WebUI 可视化操作。仅供学习研究。

🎤 引言

做新媒体运营、市场调研、竞品分析的兄弟姐妹们,应该都踩过同一个坑:想批量看看小红书/抖音/B站某个关键词下的内容趋势,手动一条条翻评论翻到眼花

传统爬虫方案有两条路:

  • 逆向工程派:抓包 → 找签名算法 → 用 Python/Node 重写 → 平台一升级就崩。门槛高、维护地狱。
  • 接口调用派:买第三方数据 API(八爪鱼、Apify、Scrapingbee)。数据不错但贵,每条几毛钱,月预算轻松破万。

MediaCrawler 走了第三条路——用 Playwright 浏览器自动化框架保留你的登录态,直接在浏览器上下文里通过 JS 表达式拿签名参数完全不用逆向任何加密算法,风控风险降到最低。

GitHub 36k+ Stars 的明星项目(仅次于 Helicone AI Gateway 那种 AI 神器),覆盖小红书、抖音、快手、B站、微博、贴吧、知乎 7 大主流平台,开箱即用。

⚠️ 重要声明:本项目仅供学习研究使用,禁止商业用途。爬虫需遵守相关平台 robots 协议和当地法律法规。


⭐ 核心亮点

1. 7 大主流平台统一接口

不像很多爬虫只支持 1-2 个平台,MediaCrawler 一上来就全平台覆盖

平台关键词搜索指定 ID二级评论创作者主页登录态缓存IP 代理池词云图
小红书
抖音
快手
B 站
微博
贴吧
知乎

一个项目搞定所有平台,不用为每个平台单独写爬虫

2. Playwright + 登录态复用 = 0 逆向

这是 MediaCrawler 最大的技术亮点。完全不用 JS 逆向

  • 用你已有的 Chrome 浏览器(CDP 模式),不是无头浏览器
  • 浏览器里已经登录了小红书/抖音 → cookie 自动复用
  • 通过 JS 表达式直接在浏览器里调用原网站的签名函数拿参数
  • 平台升级签名算法?不用管——浏览器自己会更新

对比传统逆向

  • ❌ 传统:抓包找 X-Sign 算法 → 用 Python 重写 → 平台换算法就崩
  • ✅ MediaCrawler:浏览器自动跟踪最新签名 → 永远不过期

3. WebUI 可视化操作

不是只能命令行用!MediaCrawler 自带 WebUI:

  • 可视化配置爬虫参数(平台 / 登录方式 / 爬取类型)
  • 实时查看运行状态和日志
  • 数据预览和导出
  • Vite + FastAPI 全栈架构(学习价值也很高)

打开浏览器就能用,不用记命令行参数

4. 7 种数据存储格式

数据导出支持:

  • CSV — Excel 直接打开
  • JSON — 程序处理
  • JSONL — 大数据流式
  • Excel — 带格式
  • SQLite — 本地数据库
  • MySQL — 生产数据库
  • JSON + CSV — 组合导出

不用自己写存储逻辑,config/base_config.py 改一行就行。

5. 二级评论 + 创作者主页 + 词云图

不只是抓帖子,还能:

  • 抓帖子的二级评论(评论的回复)
  • 指定创作者主页所有内容
  • 自动生成评论词云图(一键可视化关键词频率)

市场调研、用户画像、舆情分析直接出报告。

6. Pro 版:断点续爬 + AI Agent

免费版已经很能打,MediaCrawlerPro 订阅版更强:

  • ✅ 断点续爬(挂了从断点继续,不用从头来)
  • ✅ 多账号 + IP 代理池(大规模采集)
  • ✅ 去除 Playwright 依赖(更轻量)
  • ✅ Linux 完整支持
  • AI Agent Skill 支持(OpenClaw 🦞 / Claude Code / Cursor 一键安装,让 Agent 自动爬数据)
  • 🚀 评论分析 AI Agent 开发中

如果做大规模采集,Pro 版是省时间利器。


🛠️ 快速上手(5 分钟跑通小红书爬虫)

前置环境

  • Python 3.11+(推荐用 uv 管理)
  • Node.js 16+(抖音/知乎需要)
  • Chrome 浏览器 144+

1. 安装 uv(如果还没有)

# macOS / Linux
curl -LsSf https://astral.sh/uv/install.sh | sh

# 验证
uv --version

2. 克隆项目 + 安装依赖

git clone https://github.com/NanmiCoder/MediaCrawler.git
cd MediaCrawler
uv sync

3. 开启 Chrome 远程调试

打开 Chrome 地址栏输入 chrome://inspect/#remote-debugging,勾选 "Allow remote debugging for this browser instance"

页面显示 Server running at: 127.0.0.1:9222 即就绪。

4. 启动爬虫(二维码登录)

# 小红书:关键词搜索 + 二维码登录
uv run main.py --platform xhs --lt qrcode --type search

运行后 Chrome 会弹出确认对话框,点"接受"。程序会等 60 秒你扫码登录。

5. 数据存储位置

data/xhs/ 目录下自动生成 CSV / JSON / JSONL 文件。data/xhs/notes/ 是帖子,data/xhs/comments/ 是评论。

6. 跑 WebUI 版(可选)

# 终端 1:API 服务
uv run uvicorn api.main:app --port 8080 --reload

# 终端 2:前端
cd webui
npm install
npm run dev

打开 http://localhost:5173 就能用 WebUI。


🎯 实战场景:4 个最常用玩法

场景 1:市场调研 — 关键词趋势分析

调研"露营"在小红书的内容趋势:

uv run main.py --platform xhs --lt qrcode --type search \
  --keywords "露营,露营装备,露营地" \
  --get-comments  # 抓评论

跑完后:

  • 1000+ 帖子标题 + 正文
  • 5000+ 评论 + 二级评论
  • 自动生成词云图(最常被提到的露营装备 / 营地 / 痛点)

场景 2:竞品监控 — 追踪对标账号

监控某竞品账号的内容更新:

# 在 config/base_config.py 配置创作者 ID
uv run main.py --platform dy --lt qrcode --type creator

场景 3:舆情分析 — 监控品牌提及

# 微博 + 关键词搜索
uv run main.py --platform wb --lt qrcode --type search \
  --keywords "你的品牌名+竞品名" \
  --get-comments

配合评论词云图,快速看到用户对品牌的情感倾向。

场景 4:学术研究 — 社交媒体数据采集

研究生 / 博士生做传播学 / 社科学研究:

  • 抓 B 站某个话题下的所有视频评论
  • 抓微博热搜话题下的用户讨论
  • 抓知乎某个问题的所有回答

所有数据本地存储符合学术伦理(公开数据 + 匿名化处理)。


🆚 和同类工具对比

工具平台数技术签名难度维护成本
MediaCrawler7Playwright 自动化0 逆向⭐ 简单✅ 浏览器自动更新免费开源
八爪鱼(商业)浏览器模拟-⭐ 简单✅ 平台升级💰 几百到几千/月
Apify(商业)云端 worker-⭐⭐💰 按使用量
scrapy + 逆向1-2Python + JS 逆向需重写⭐⭐⭐⭐❌ 平台升级就崩免费但烧时间
youtubedl 类工具1API 解析简单⭐⭐⚠️免费

MediaCrawler vs 八爪鱼:八爪鱼是可视化拖拽爬虫,适合非技术人员;MediaCrawler 偏开发者,需要懂命令行,但覆盖平台更多 + 完全免费 + 数据本地化

MediaCrawler vs 自己逆向:逆向派的技术深度更高,但维护成本是噩梦(每次平台升级都要重写);MediaCrawler 用浏览器自动化绕过这个痛点。


🧠 技术架构深度解析

我看了一下 MediaCrawler 的代码设计,有几个值得借鉴的地方:

CDP 模式 vs 传统 Playwright

默认是 CDP 模式(连接已有 Chrome),不是新建无头浏览器:

  • 保留登录态(cookie / localStorage / 扩展)
  • 降低风控检测(真人使用的浏览器 IP / Canvas 指纹稳定)
  • 支持已有的 Chrome 扩展(抓包 / 调试工具都能用)

JS 表达式取签名

爬虫核心逻辑:

# 在浏览器上下文里执行 JS,拿签名参数
signature = page.evaluate('''() => {
    return window._webmsxyw("参数");  // 调用原网站签名函数
}''')

完全不需要逆向——因为签名是在浏览器里实时执行的,平台升级也只是换函数实现,调用方式不变。

模块化设计

每个平台一个独立文件:

  • media_platform/xhs/ — 小红书爬虫
  • media_platform/douyin/ — 抖音爬虫
  • media_platform/bilibili/ — B 站爬虫
  • media_platform/weibo/ — 微博爬虫
  • media_platform/tieba/ — 贴吧爬虫
  • media_platform/zhihu/ — 知乎爬虫

加新平台 = 加一个目录 + 实现接口。对扩展友好

Pro 版的 AI Agent Skill

这是 Pro 版最有想象力的功能——把爬虫能力封装成 AI Agent 的 Skill:

# OpenClaw / Claude Code / Cursor 都能调
from mediacrawler_skill import crawl_xhs

result = crawl_xhs(keyword="露营装备", max_count=100)
# 直接拿结构化数据,不用自己写爬虫

让 AI Agent 自己决定要爬什么数据——这是把爬虫从"工具"升级为"AI 能力"。


📊 我自己用下来的感受

我用 MediaCrawler 跑了一次小红书"AI 工具"关键词调研,3 小时抓了 800+ 帖子 + 5000+ 评论。

体验好的部分

  • CDP 模式真的稳,没有触发任何风控(之前用别的爬虫 5 分钟就被封 IP)
  • WebUI 比命令行直观,实时看进度很爽
  • 词云图功能惊艳,直接出报告素材
  • 多种数据格式导出,接 pandas 分析零成本
  • 文档详细,踩坑说明(CDP 怎么开、登录态怎么用)都写了

踩坑提醒

  • 默认 CDP 模式必须用真实 Chrome(不是 Chromium),否则签名可能不对
  • 抖音/知乎 必须装 Node.js 16+(小红书不需要)
  • 单次爬取别贪多(一次 1000 条以内),容易被风控
  • IP 代理池 + 多账号 才能大规模爬(Pro 版功能)
  • 遵守 robots 协议别爬取隐私数据别商业用途
  • 平台升级可能临时失效,等作者更新即可

⚠️ 合规性提醒(必读)

1. 学习研究目的

MediaCrawler 明确仅供学习研究,禁止商业用途。商业用途请用官方 API(如小红书蒲公英 / 抖音星图)。

2. 遵守平台规则

  • 不要绕过平台的反爬机制
  • 不要大规模爬取(控制在合理范围)
  • 不要爬取用户隐私数据
  • 尊重 robots.txt

3. 遵守当地法律

  • 《中华人民共和国网络安全法》
  • 《数据安全法》
  • 《个人信息保护法》
  • 海外用户遵守当地数据保护法规(GDPR / CCPA 等)

4. 学术伦理

  • 公开数据可爬,匿名化处理后再分析
  • 涉及人类受试者研究需过 IRB
  • 引用数据时注明数据来源

🎁 总结

MediaCrawler 解决了一个真实痛点:多平台自媒体数据采集

它不是最快的爬虫,也不是最便宜的方案(毕竟免费),但综合体验最佳

  1. 7 大平台统一接口(小红书/抖音/快手/B站/微博/贴吧/知乎)
  2. 0 JS 逆向(Playwright + 登录态复用)
  3. WebUI 可视化(不用记命令行)
  4. 7 种数据存储(CSV/JSON/Excel/SQLite/MySQL)
  5. 二级评论 + 词云图(分析直接出报告)
  6. Pro 版 AI Agent Skill(让 AI 自动爬数据)

适合人群

  • 🎯 新媒体运营 / 市场调研 / 竞品分析
  • 🎓 研究生 / 博士生(社交媒体研究)
  • 💻 开发者(学习爬虫架构 / Playwright 实战)
  • 🤖 AI Agent 开发者(用 Pro 版 Skill 集成爬虫能力)

⚠️ 再次提醒:本项目仅供学习研究,请遵守相关法律法规和平台规则。

GitHub:github.com/NanmiCoder/MediaCrawler
文档:nanmicoder.github.io/MediaCrawler
Pro 版:github.com/MediaCrawlerPro


📝 写在最后

如果你对爬虫工具感兴趣,可以看看我之前写的 Strix:开源 AI 渗透测试神器(同属安全工具类,但合法用途)。如果你是做 AI 产品的,可以看看 Helicone AI Gateway(1 个 API 接 100+ 模型)。

觉得有用就点个赞、收藏、关注,你的支持是我继续挖好工具的动力 🚀