🕷️ MediaCrawler
多平台自媒体数据采集工具 —— 为 AI 时代提供高质量训练数据
📌 项目简介
MediaCrawler 是一个多平台自媒体数据采集工具,支持小红书、抖音、快手、B站、微博、百度贴吧、知乎共 7 个主流内容平台的公开信息抓取。项目基于 Playwright 浏览器自动化框架实现,无需 JS 逆向,直接利用保存的登录态浏览器上下文通过 JS 表达式获取签名参数,大幅降低了爬虫技术门槛。
该项目定位为学习爬虫技术、研究浏览器自动化方案的开源教学项目,同时也为 LLM 训练数据收集、内容分析等场景提供了实用工具链。
Playwright
7 大平台支持
WebUI 可视化
多存储格式
MIT 许可
⚙️ 安装要求与过程
环境要求
- Python:推荐 3.11 及以上版本(已支持 Python 3.13)
- Node.js:≥ 16.0.0(WebUI 前端需要)
- Chrome 浏览器:推荐 ≥ 144 版本(开启远程调试后可复用登录态)
- 包管理工具:推荐
uv(速度快、依赖解析准确)
快速安装(5 分钟上手)
# 1. 克隆项目 git clone https://github.com/NanmiCoder/MediaCrawler.git cd MediaCrawler # 2. 安装 Python 依赖(使用 uv) uv sync # 3.(可选)安装 Playwright 浏览器驱动(标准模式需要) uv run playwright install # 4.(推荐)配置 Chrome 远程调试 # 在 Chrome 地址栏输入 chrome://inspect/#remote-debugging # 勾选允许远程调试,确认 Server 运行在 127.0.0.1:9222
WebUI 可视化界面部署
# 开发调试模式 # 终端 1:启动后端 API 服务(默认端口 8080) uv run uvicorn api.main:app --port 8080 --reload # 终端 2:启动前端开发服务 cd webui npm install npm run dev # 访问 http://localhost:5173/ 即可使用 # 生产部署模式 cd webui npm install npm run build uv run uvicorn api.main:app --port 8080 --reload # 直接访问 http://localhost:8080
✨ 核心功能
- 7 大平台全覆盖:小红书、抖音、快手、B站、微博、百度贴吧、知乎,功能覆盖度一致
- 多种爬取模式:支持关键词搜索爬取、指定 ID 爬取帖子/视频、二级评论爬取、指定创作者主页爬取
- 登录态缓存:基于 Playwright 保存登录态,支持 CDP 模式连接本地 Chrome,复用已有登录态、Cookie 和扩展,降低平台风控风险
- WebUI 可视化界面:无需命令行,直接在网页配置爬虫参数、查看运行状态、导出数据,大幅降低使用门槛
- 多存储格式支持:CSV、JSON、JSONL、Excel、SQLite、MySQL 等多种数据存储格式,满足不同 downstream 需求
- IP 代理池:内置代理池支持,可配置多账号+IP 轮换,降低被封禁风险
- 评论词云图:自动生成评论词云图,直观展示用户情感倾向和热点话题
🖼️ 支持平台一览
📕 小红书
搜索笔记、指定帖子详情、创作者主页、二级评论
🎵 抖音
搜索视频、视频详情、用户信息、评论数据
🎬 快手
视频搜索、详情页、用户主页、评论爬取
📺 B站
视频搜索、视频详情、UP 主信息、弹幕与评论
💬 微博
关键词搜索、博文详情、评论、用户主页
📝 知乎
问答搜索、问题详情、回答内容、评论数据
🙋 百度贴吧
贴子搜索、贴子详情、回复内容、吧内信息
🚀 典型使用场景
场景一:LLM 训练数据收集
MediaCrawler 可以批量采集各平台公开的文本、图片、评论数据,经过清洗后作为 LLM 的微调或预训练数据。相比手动采集,效率提升 100 倍以上,且支持断点续爬,适合大规模数据采集任务。
# 爬取小红书关键词搜索结果(用于训练数据分析类 LLM) uv run main.py --platform xhs --lt qrcode --type search # 数据自动保存为 JSON/CSV,可直接接入训练 pipeline
场景二:社交媒体舆情监测
企业或研究机构可以使用 MediaCrawler 定期采集特定关键词的社交媒体内容,结合 LLM 进行情感分析、热点话题发现和舆情预警。WebUI 界面使得非技术团队也能轻松配置和运行爬取任务。
# 爬取指定关键词的微博内容 uv run main.py --platform weibo --lt cookie --type search --keywords "AI大模型"
场景三:内容创作者竞品分析
自媒体运营者可以用 MediaCrawler 采集同类创作者的高赞内容、评论热词、发布时间规律等,为内容策略优化提供数据支撑。结合评论词云图功能,可以快速把握受众偏好。
💡 推荐理由
MediaCrawler 是我见过的最易上手的社交媒体数据采集项目之一。它巧妙避开了最难的 JS 逆向问题 —— 通过保存登录态浏览器上下文直接执行 JS 获取签名,让爬虫开发从”黑魔法”变成”标准流程”。
三大亮点:
① 零 JS 逆向:基于 Playwright 的登录态复用机制,不需要分析各平台的签名算法
② WebUI 降低门槛:可视化界面让非程序员也能使用,是真正”可用”的开源工具
③ CDP 模式创新:连接本地 Chrome,复用真实用户的登录态和扩展,大幅降低风控概率
需要注意的是,项目明确声明仅可用于学习研究,禁止用于商业用途和非法爬虫行为。建议在遵守平台 ToS 和相关法律法规的前提下使用。
📦 下载地址
⚠️ 注意事项
① 本项目仅供学习研究使用,禁止用于商业用途和非法爬虫行为
② 因违规使用产生的法律责任由使用者自行承担
③ 请遵守各平台的 robots.txt 和服务条款(ToS)
④ 建议合理控制爬取频率,避免对目标平台造成过大压力
⑤ 不要爬取明确标注”禁止爬取”的私密或付费内容
📅 数据更新至 2026 年 7 月 | ⭐ GitHub: NanmiCoder/MediaCrawler
