一、项目简介:什么是 MediaCrawler?
MediaCrawler 是由 NanmiCoder 开发维护的一款多平台自媒体数据采集工具,支持小红书、抖音、快手、B站、微博、百度贴吧、知乎七大主流平台的公开信息抓取。截至2026年8月,该项目在 GitHub 上已获得超过 58,000 Stars 和 11,500+ Forks,是中文社交媒体爬虫领域最具影响力的开源项目之一。
该项目最核心的设计理念是:用真实浏览器代替复杂的 JS 逆向。MediaCrawler 基于 Playwright 浏览器自动化框架,通过复用真实浏览器的登录态和 Cookie,以 CDP(Chrome DevTools Protocol)模式连接用户已有的 Chrome 浏览器,大幅降低了爬虫开发的技术门槛。正如其 README 所言——“无需逆向复杂的加密算法,大幅降低技术门槛”。
官方资源:
⚠️ 重要声明:本项目仅供学习和研究使用,禁止用于商业用途或侵犯他人合法权益。使用前请仔细阅读项目免责声明。
二、功能特性一览
2.1 多平台全覆盖
MediaCrawler 对七个主流平台的支持涵盖了以下核心功能:
| 功能 | 小红书 | 抖音 | 快手 | B站 | 微博 | 贴吧 | 知乎 |
|---|---|---|---|---|---|---|---|
| 关键词搜索 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| 指定帖子ID爬取 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| 二级评论 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| 指定创作者主页 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| 登录态缓存 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| IP代理池 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| 生成评论词云图 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
2.2 核心技术架构
MediaCrawler 采用模块化架构设计,主要包含五大功能模块:
- 平台适配器(
media_platform/):各社交平台专用爬虫实现 - 代理管理系统(
proxy/):IP池构建与动态调度 - 数据存储引擎(
store/):多类型数据库适配 - 工具函数库(
tools/):验证码处理、时间工具等辅助功能 - 配置中心(
config/):环境变量与参数管理
2.3 MediaCrawler Pro
项目还推出了MediaCrawler Pro付费版本,相较于开源版本的核心优势包括:
- 自媒体内容拆解 Agent
- 断点续爬功能
- 多账号 + IP代理池支持
- 去除 Playwright 依赖,使用更简单
- 完整 Linux 环境支持
- AI Agent Skill 支持(OpenClaw / Claude Code / Cursor 一键安装)
三、使用教程:从零开始搭建
3.1 前置依赖
在开始之前,请确保您的系统满足以下要求:
| 组件 | 版本要求 |
|---|---|
| Python | >= 3.11 |
| Node.js | >= 16.0.0 |
| Chrome | >= 144(推荐) |
| uv | 最新版(推荐) |
3.2 安装步骤
第一步:克隆项目
git clone https://github.com/NanmiCoder/MediaCrawler.git cd MediaCrawler
第二步:安装 uv 包管理器(推荐)
uv 是 MediaCrawler 推荐的依赖管理工具,安装地址:https://docs.astral.sh/uv/getting-started/installation
# 验证 uv 是否安装成功 uv --version
第三步:安装项目依赖
uv sync
如果使用传统的 pip 方式:
pip3 install -r requirements.txt
第四步:安装 Playwright 浏览器驱动
playwright install # 或仅安装 Chromium playwright install chromium
第五步:配置 Chrome CDP 模式(关键步骤)
MediaCrawler 默认使用 CDP 模式连接用户已有的 Chrome 浏览器。需要先启动 Chrome 并开启远程调试:
# macOS /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --remote-debugging-port=9222 # Windows "C:\Program Files\Google\Chrome\Application\chrome.exe" --remote-debugging-port=9222 # Linux google-chrome --remote-debugging-port=9222
3.3 首次运行
验证安装是否成功:
# 查看帮助信息 python3 main.py --help # 示例:小红书关键词搜索(二维码登录) python3 main.py --platform xhs --lt qrcode --type search --keyword "数据分析" --page 1
命令行参数说明:
--platform:平台代码(xhs/douyin/kuaishou/bilibili/weibo/tieba/zhihu)--lt:登录方式(qrcode/cookie/phone)--type:采集类型(search/creator/detail)--keyword:搜索关键词--page:爬取页数
3.4 配置详解
数据存储配置:
MediaCrawler 默认数据保存格式为 JSONL。如需导出为 Excel,可在 config/base_config.py 中修改:
SAVE_DATA_OPTION = "excel"
或启动时添加参数:
python3 main.py --platform xhs --lt qrcode --type search --save_data_option excel
数据库配置:
项目支持 MySQL、PostgreSQL、MongoDB、Redis 等多种数据库,配置文件位于 config/db_config.py。
代理池配置:
代理系统采用三层架构,通过 Redis 维护 IP 生命周期。需在 proxy/proxy_ip_provider.py 中配置 API 密钥。
3.5 新手推荐流程
建议按照以下顺序逐步验证:
- 先选一个平台(小红书、B站、微博、贴吧或知乎),不要同时开启多个平台
- 选一个低风险关键词或公开内容 ID,限制采集量
- 只开启必要功能,先验证能否拿到主内容
- 确认主内容稳定后,再开启评论采集
- 确认一级评论稳定后,再开启二级评论
- 确认本机网络可跑通后,再评估是否需要代理
- 确认输出字段满足分析需求后,再接数据库
四、实用建议与避坑指南
4.1 常见问题及解决方案
问题1:Playwright browser not found
# 解决方案:重新安装 Playwright 浏览器驱动 playwright install
问题2:小红书扫码后提示“无登陆信息”
这通常是由滑块验证码触发的风控导致。解决方案:
- 关闭无头模式:
CDP_HEADLESS = False - 降低爬取速度
- 在非 headless 模式下完成滑块验证
问题3:数据保存为 JSONL 而非 Excel
修改 config/base_config.py 中的 SAVE_DATA_OPTION 为 "excel"。
问题4:采集过程中频繁出现 403 错误
- 检查代理 IP 是否可用
- 降低请求频率
- 检查 Cookie 是否过期
- 尝试切换登录方式
4.2 风控规避建议
- 使用测试账号:CDP 模式会复用 Chrome 的 Cookie 和账号状态,建议使用独立的测试账号和浏览器用户配置
- 控制采集频率:避免短时间内发送大量相同模式的请求
- 关闭无头模式调试:在测试阶段建议关闭 headless 模式,以便观察和完成验证码
- 逐步扩大范围:单任务稳定后再考虑多账号、断点续爬和 IP 代理池
4.3 学习建议
MediaCrawler 的价值不仅在于“能爬数据”,更在于其工程化设计思路。它展示了一种“业务逻辑/平台适配层/数据存储”三层解耦架构,对于想学习爬虫框架设计的开发者来说是极佳的参考源码。
对于初学者,建议:
- 先通读项目的 README 和文档
- 从单个平台、单个关键词的小规模采集开始
- 遇到问题先在 GitHub Issues 中搜索(已有大量踩坑记录)
- 理解 CDP 模式的工作原理,这是项目最核心的设计决策
五、总结
MediaCrawler 是目前中文社交媒体爬虫领域的事实标准(reference implementation)。它用 Playwright + CDP 模式绕开了复杂的 JS 逆向,将七个主流平台的数据采集统一到了一个框架之下。无论你是数据分析师需要获取社媒样本,还是开发者想学习爬虫架构设计,MediaCrawler 都是一个值得投入时间研究的项目。
最后再次提醒:请以学习为目的使用,尊重各平台的使用条款和用户隐私。
数据统计
数据评估
关于MediaCrawler特别声明
本站微企脉提供的MediaCrawler都来源于网络,不保证外部链接的准确性和完整性,同时,对于该外部链接的指向,不由微企脉实际控制,在2026年8月23日 下午11:54收录时,该网页上的内容,都属于合规合法,后期网页的内容如出现违规,可以直接联系网站管理员进行删除,微企脉不承担任何责任。
相关导航
33台词是一个专注于通过台词反向查找影片素材的在线工具和移动应用。它的核心功能是帮助用户输入台词关键词,快速定位该台词出现在哪些影片的哪个时间点,主要服务于视频创作者和语言学习者。
UXbot
UXbot 是一个面向产品经理、设计师和创业者的AI全栈式应用生成平台。其核心定位是“从想法到应用”的一站式解决方案,用户无需编写代码,仅通过自然语言描述,即可完成从需求分析、高保真UI设计、可交互原型到前端代码生成的完整产品设计流程。
360趋势
360趋势是一个大数据分析平台,致力于实时追踪和展示互联网上的热门话题与搜索趋势。
Browser Use
Browser Use 是一款开源的 AI 浏览器自动化框架,其核心理念是让 AI Agent 像人类一样使用浏览器。让你用自然语言描述任务,AI 自动操控浏览器完成——打开页面、点击按钮、填写表单、提取数据,全程无需编写一行定位代码。
GitHub加速代理
GitHub加速代理是一个免费的GitHub文件加速代理网站,它通过中转的方式,专门解决国内开发者访问GitHub时遇到的下载速度慢、连接超时等问题。
Semi Design
由抖音前端与 UED 团队维护,易于定制的现代化设计系统,帮助设计师与开发者打造高质量产品。
SoBooks免费电子书
SoBooks是一个专注于免费电子书资源分享的国内网站,网站定位十分清晰——主要面向中文电子书阅读爱好者,提供小说文学、历史传记、人文社科、励志成功、经济管理、学习教育、生活时尚、漫画绘本等分类的电子书下载服务。主要提供 EPUB、MOBI、AZW3 等主流格式的电子书,完美适配 Kindle、Kobo、手机阅读 App。
表单大师
一款功能强大的在线表单制作和数据收集分析工具
矩媒 MatrixMedia
矩媒(MatrixMedia)是一款开源的多平台视频矩阵发布与批量分发工具。它的核心价值不在于“AI”,而在于把“发布”这个动作标准化、可编程化,让 AI 工具和自动化脚本能够真正接管这个环节。如果你正在运营自媒体矩阵,或者想构建从内容生成到多平台分发的自动化流水线,MatrixMedia 值得认真尝试——开源、免费、本地运行、数据自主,而且还在持续进化。
Moli Browser
Moli Browser(简称 Moli)是一款专为AI智能体设计的生产级无头浏览器,使用Rust编写,致力于解决传统浏览器在AI自动化场景下的资源消耗过大、启动缓慢等问题。Moli的目标非常清晰:让AI智能体能够高效地抓取网页、搜索网络、自动化执行浏览器任务,同时保持极低的资源占用。
金数据
人人可用的数据平台,轻松收集、分析、共享工作中的数据
Keepa
Keepa是源自德国的一款亚马逊卖家最核心的选品与竞品分析工具之一,被全球超过400万用户使用。它通过一个浏览器插件和完整的网站,为超过60亿件亚马逊商品提供详尽的历史数据图表。
暂无评论...






