暂无菜单项

MediaCrawler:多平台自媒体数据采集工具,54.9K+ Stars 让 Playwright 爬虫变得简单

发布于
1

🕷️ MediaCrawler

多平台自媒体数据采集工具 —— 为 AI 时代提供高质量训练数据

⭐ 54,991+ Stars  |  🐍 Python  |  🎭 Playwright  |  📜 MIT License

📌 项目简介

MediaCrawler 是一个多平台自媒体数据采集工具,支持小红书、抖音、快手、B站、微博、百度贴吧、知乎共 7 个主流内容平台的公开信息抓取。项目基于 Playwright 浏览器自动化框架实现,无需 JS 逆向,直接利用保存的登录态浏览器上下文通过 JS 表达式获取签名参数,大幅降低了爬虫技术门槛。

该项目定位为学习爬虫技术、研究浏览器自动化方案的开源教学项目,同时也为 LLM 训练数据收集、内容分析等场景提供了实用工具链。

Python 3.11+
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

0 点赞
0 收藏
分享
0 讨论
反馈
0 讨论
热门最新
总结
暂无总结
0 / 600