### [MediaCrawler:多平台自媒体数据采集工具,54.9K+ Stars 让 Playwright 爬虫变得简单](https://www.willai.cc/article/3132) **Published:** 2026-07-02T11:54:50 **Author:** hiyoho **Excerpt:** 🕷️ MediaCrawler 多平台自媒体数据采集工具 —— 为 AI 时代提供高质量训练数据 ⭐ 54,991+ Stars  |  🐍 Python  |  🎭 Playwright  |  📜 MIT License 📌 项目简介 .ai-article { max-width: 780px; margin: 0 auto; font-family: 'Segoe UI', system-ui, sans-serif; color: #1a1a2e; line-height: 1.8; } .ai-article h2 { font-size: 1.5em; margin: 2em 0 0.8em; padding-left: 14px; border-left: 5px solid #06D6A0; color: #06D6A0; } .ai-article h3 { font-size: 1.2em; margin: 1.5em 0 0.6em; color: #118AB2; } .ai-article p { margin: 0.8em 0; } .ai-article .hero { background: linear-gradient(135deg, #1a1a2e 0%, #16213e 100%); border-radius: 16px; padding: 36px 32px; color: #fff; margin-bottom: 2em; } .ai-article .hero h1 { font-size: 2em; margin: 0 0 0.3em; color: #fff; } .ai-article .hero .sub { color: #06D6A0; font-size: 1.1em; margin-bottom: 0.8em; } .ai-article .hero .meta { color: #aaa; font-size: 0.92em; } .ai-article .tag-grid { display: flex; flex-wrap: wrap; gap: 8px; margin: 1em 0; } .ai-article .tag-item { background: #e8f8f0; color: #06D6A0; border-radius: 20px; padding: 4px 14px; font-size: 0.88em; } .ai-article .platform-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 14px; margin: 1.5em 0; } .ai-article .platform-card { background: #f0faf6; border-radius: 12px; padding: 18px 16px; border-left: 4px solid #06D6A0; } .ai-article .platform-card h4 { margin: 0 0 8px; color: #1a1a2e; font-size: 1.05em; } .ai-article .platform-card p { font-size: 0.9em; color: #555; margin: 0; } .ai-article pre { background: #1a1a2e; color: #a8f0c8; border-radius: 10px; padding: 18px 20px; overflow-x: auto; font-size: 0.88em; line-height: 1.6; } .ai-article .feature-list { list-style: none; padding: 0; } .ai-article .feature-list li { padding: 10px 0 10px 32px; position: relative; border-bottom: 1px solid #eee; } .ai-article .feature-list li::before { content: "✅"; position: absolute; left: 0; } .ai-article .warn { background: #fff8e1; border-left: 4px solid #ffc107; border-radius: 8px; padding: 14px 18px; margin: 1.5em 0; color: #856404; font-size: 0.95em; } .ai-article .tip { background: #e8f8f0; border-left: 4px solid #06D6A0; border-radius: 8px; padding: 14px 18px; margin: 1.5em 0; color: #1a6b42; font-size: 0.95em; } .ai-article .dl-link { display: inline-block; background: linear-gradient(135deg, #06D6A0, #118AB2); color: #fff; border-radius: 10px; padding: 12px 28px; text-decoration: none; font-weight: 600; margin: 6px 8px 6px 0; } .ai-article .arch { background: #f8f9fa; border: 1px solid #e0e0e0; border-radius: 12px; padding: 20px; margin: 1.5em 0; } .ai-article .arch h4 { margin-top: 0; color: #06D6A0; } # 🕷️ 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 和相关法律法规的前提下使用。 ## 📦 下载地址 [📦 GitHub 仓库](https://github.com/NanmiCoder/MediaCrawler) [📖 中文文档](https://github.com/NanmiCoder/MediaCrawler/blob/main/README_ZH.md) ## ⚠️ 注意事项 **🚨 法律与合规提醒:** ① 本项目仅供**学习研究使用**,禁止用于商业用途和非法爬虫行为 ② 因违规使用产生的法律责任由**使用者自行承担** ③ 请遵守各平台的 **robots.txt** 和服务条款(ToS) ④ 建议合理控制爬取频率,避免对目标平台造成过大压力 ⑤ 不要爬取明确标注”禁止爬取”的私密或付费内容 📅 数据更新至 2026 年 7 月  |  ⭐ GitHub: NanmiCoder/MediaCrawler **Tags:** AI, AI开源项目, LLM, MediaCrawler, MIT许可, Playwright, Python, 开源, 数据分析, 数据采集 **Categories:** 开源项目 ---