MediaCrawler Skill:七平台自媒体数据一键采集的浏览器自动化神器
小红书笔记、抖音视频、B站、微博、知乎、贴吧——这七个主流平台的数据,如今可以用同一个工具一键抓取。MediaCrawler 是一个基于 Playwright 的多平台自媒体数据采集框架,近日持续占据 GitHub Trending 榜单,截至 2026-07-30 已斩获 59,398 Stars、Fork 11,708 次,是当前最受关注的数据采集开源项目之一。
功能与设计原则
MediaCrawler 的核心能力是绕过平台签名算法实现数据抓取。它利用 Playwright 浏览器自动化框架保留用户登录态,通过 JS 表达式在浏览器上下文内直接获取平台签名参数,无需进行任何 JS 逆向或加密算法破解,大幅降低了技术门槛。
设计原则三条:登录态复用降低风控、无需 JS 逆向降低门槛、多平台统一接口统一体验。
认可度
- GitHub Star:59,398(截至 2026-07-30)
- Fork:11,708
- 今日 GitHub Trending 上榜项目
- 支持平台:小红书、抖音、快手、B站、微博、贴吧、知乎(共 7 个,均支持关键词搜索、指定帖子ID爬取、二级评论、指定创作者主页、评论词云图生成)
链接
GitHub:https://github.com/NanmiCoder/MediaCrawler
原作者
作者为 GitHub 用户 NanmiCoder(B站账号:434377496),专注 AI 与爬虫技术,输出系列教程与开源项目。
介绍
MediaCrawler 提供两种运行模式:CDP 模式(连接用户已有的 Chrome 浏览器,复用登录态和 Cookie,大幅降低被平台风控检测的风险)和标准 Playwright 模式(自动安装浏览器驱动,更适合无本地 Chrome 环境的场景)。
配置简单,平台相关参数在 config/base_config.py 中有详细中文注释。运行后程序会弹出 Chrome 确认对话框,用户扫码登录即可保存登录态,后续爬取在登录态有效期内无需重复认证。
数据输出支持 CSV、JSON、JSONL、Excel、SQLite、MySQL 六种格式,满足从轻量单次采集到生产级数据管道各类需求。还提供 WebUI 可视化界面,通过 uvicorn API 服务 + Vite 前端实现零命令行操作。
特点
- 多平台覆盖:小红书、抖音、快手、B站、微博、贴吧、知乎,一个项目全搞定
- CDP 模式:复用本地 Chrome 登录态,绕过平台签名,无需 JS 逆向
- 无需复杂依赖:pip install -r requirements.txt + uv sync,开箱即用;如用 CDP 模式甚至无需安装浏览器驱动
- 数据格式齐全:CSV / JSON / JSONL / Excel / SQLite / MySQL,按需选用
- WebUI 加持:内置可视化操作界面,非命令行用户也能轻松上手
使用方法
安装依赖(推荐 uv):
# 安装 uv(Python 包管理工具)
curl -fsSL https://astral.sh/uv/install.sh | bash
cd MediaCrawler
uv sync
开启 Chrome 远程调试(CDP 模式):
- Chrome 地址栏输入
chrome://inspect/#remote-debugging,勾选 “Allow remote debugging for this browser instance” - 确认显示
Server running at: 127.0.0.1:9222
运行爬虫:
# 关键词搜索爬取(以小红书为例)
uv run main.py --platform xhs --lt qrcode --type search
# 指定帖子ID爬取
uv run main.py --platform xhs --lt qrcode --type detail
# 其他平台示例
uv run main.py --platform dy --lt qrcode --type search # 抖音
uv run main.py --platform bili --lt qrcode --type search # B站
uv run main.py --help # 查看全部平台和参数
WebUI 模式:
# 终端1:启动API服务(端口8080)
uv run uvicorn api.main:app --port 8080 --reload
# 终端2:启动前端(端口5173)
cd webui && npm install && npm run dev
# 访问 http://localhost:5173/
使用场景与人群
适用场景:
- 自媒体运营者:监控竞品笔记/视频数据,追踪热度话题
- 数据分析团队:采集多平台公开数据,构建数据集或训练语料
- 学术研究者:抓取社交媒体公开内容进行舆情分析或行为研究
- 产品经理:调研特定话题在各平台的热度和用户讨论
目标用户: 具备基础 Python 操作能力,有明确数据采集需求的技术人员或运营人员。注意:以学习研究为目的使用,遵守各平台服务条款和相关法律法规。
输入与输出案例
输入: 小红书关键词搜索模式,配置文件中设置关键词为”AI 工具”
uv run main.py --platform xhs --lt qrcode --type search
输出(JSONL 格式):
{"platform": "xhs", "note_id": "67a8b2c3d4e5f6", "title": "亲测这5个AI工具让我效率翻倍", "likes": 12580, "comments": 843, "share": 234, "tags": ["AI工具", "效率", "推荐"], "author": "xxx", "published_at": "2026-07-28"}
输入: 抖音指定创作者主页爬取
uv run main.py --platform dy --lt qrcode --type detail
输出: 指定创作者的所有视频列表,包含播放量、点赞、评论数、发布时间等字段,可直接导入数据库分析。
评论区
登录后可评论。