MediaCrawler 一行命令批量爬取小红书、抖音、B站公开数据
做竞品分析、舆情监控、用户研究,最头疼的就是手动复制粘贴数据,一条条从平台搬运既费时间又容易出错。自己写爬虫?每个平台结构不一样,反爬机制各不相同,光是绕过加密签名就劝退一大半人。今天分享一款 GitHub 上 Star 数极高的开源多平台自媒体数据采集工具 MediaCrawler,一行命令批量抓取小红书、抖音、快手、B站、微博、贴吧、知乎七大平台的公开数据,无需懂 JS 逆向,本地部署即可使用。
一、项目基础档案
项目名称:MediaCrawler
开源协议:MIT(可修改、可私有化,保留版权声明即可)
作者:NanmiCoder(独立开发者)
开发语言 & 技术栈:Python + Playwright + Node.js
支持平台:小红书、抖音、快手、B站、微博、贴吧、知乎七大平台
数据输出:CSV / JSON / JSONL / Excel / SQLite / MySQL
核心适用人群:数据分析师、竞品监控团队、学术研究者、爬虫学习者、AI Agent 开发者
项目当前在 GitHub 上拥有 60K+ Star、12K+ Fork,是目前完成度较高的多平台社交媒体爬虫项目之一,同时提供 WebUI 可视化操作界面和命令行两种使用方式。
二、核心功能亮点
1、七大平台全覆盖,功能矩阵统一
功能介绍:支持关键词搜索、指定帖子 ID 爬取、二级评论、指定创作者主页、登录态缓存、IP 代理池、生成评论词云图,七大平台功能矩阵完全一致,用法统一。
解决痛点:不同平台结构不同、接口各异,逐个适配成本极高。
使用价值:一套操作逻辑搞定所有平台,掌握一个平台就等于掌握全部。
2、免 JS 逆向,浏览器自动化拿数据
功能介绍:基于 Playwright 浏览器自动化框架,通过扫码登录保存登录态,在保留登录态的浏览器上下文里执行 JS 表达式获取签名参数。
解决痛点:传统爬虫最麻烦的就是逆向 JS 加密签名,平台改一次加密方式爬虫就废了,维护成本极高。
使用价值:不再硬刚加密算法,平台加密改版后只要登录态还在就基本不受影响,技术门槛大幅降低。
3、登录态缓存,一次登录长期复用
功能介绍:扫码登录后自动将登录态序列化保存,后续爬取无需重复登录;支持登录态手动刷新,失效后重新扫码即可。
解决痛点:每次采集都要重新扫码登录,频繁操作繁琐,且容易触发风控。
使用价值:登录一次,长期复用,配合 CDP 模式连接已有 Chrome 浏览器,可以复用浏览器已有登录状态、Cookie、扩展,大幅降低平台风控检测风险。
4、IP 代理池,降低封号风险
功能介绍:内置 IP 代理池支持,自动轮换 IP 降低被封概率,配合合理请求间隔,可以在不触发平台风控的前提下持续采集数据。
解决痛点:高频请求容易被平台识别并封禁 IP,导致采集任务中断。
使用价值:长时间稳定运行的关键保障,适合需要持续监控的数据采集任务。
5、WebUI 可视化操作界面
功能介绍:除命令行外,项目提供基于 Web 的可视化操作界面,可视化配置爬虫参数(平台、登录方式、爬取类型等),实时查看爬虫运行状态和日志,支持数据预览和导出。
解决痛点:命令行操作门槛高,参数记不住,运行状态不直观。
使用价值:零命令行基础也能轻松上手,后端 API 服务(默认 8080 端口)+ 前端 Vite 开发服务器(默认 5173 端口)架构清晰,方便二次开发。
三、技术原理
MediaCrawler 的核心思路是:不再逆向加密,而是直接控制真实浏览器。
传统爬虫采集平台数据,需要绕过 JS 加密签名,在浏览器端逆向分析加密逻辑才能正常调用 API,门槛极高,且平台改一次加密方式爬虫就作废。MediaCrawler 基于 Playwright 实现浏览器自动化,通过扫码登录保存登录态,在保留登录态的浏览器上下文环境中执行 JS 表达式获取签名参数,不需要逆向任何加密算法。
项目每个平台都有独立的采集引擎(media_platform 目录下按平台拆分子模块),互不干扰。一个平台改版了只需要改对应模块,不影响其他平台,模块化设计让维护成本大幅下降。项目还支持配置 CDP 模式连接用户已有的 Chrome 浏览器(默认开启),复用浏览器已有登录状态,进一步降低风控风险。
四、安装使用:三步跑起来
前置依赖
Python(建议配合 uv 使用,推荐
uv sync保证版本和依赖一致性)Node.js(版本 >= 16,爬取抖音和知乎必需)
Chrome 浏览器(版本 >= 144,CDP 模式使用)
第一步:克隆项目 + 安装依赖
1 | git clone https://github.com/NanmiCoder/MediaCrawler.git |
如果使用标准 Playwright 模式,还需要安装浏览器驱动:
1 | uv run playwright install |
第二步:配置爬取参数
在 config/base_config.py 中查看配置项目(写有中文注释),配置要爬取的关键词、平台、代理信息等。
第三步:扫码登录 + 启动爬虫
1 | # 从配置文件中读取关键词搜索相关的帖子并爬取帖子信息与评论 |
执行后弹出二维码,手机 App 扫码登录,登录态自动缓存。其他平台爬虫使用示例执行 uv run main.py --help 查看。
数据保存
MediaCrawler 支持将采集到的数据保存至多种格式和存储介质:CSV / JSON / JSONL / Excel / SQLite / MySQL,在配置文件中填入数据库连接信息即可直接入库,方便后续数据分析。
WebUI 启动方式
1 | # 启动后端 API 服务 |
访问 http://localhost:5173/ 打开 WebUI 界面;构建生产资源后仅启动 API 服务,访问 http://localhost:8080 即可。
五、适用场景 & 适配人群
适合使用
数据分析师:批量采集多平台评论、点赞数据,进行舆情分析和趋势研究。
竞品监控团队:追踪竞品账号动态,采集内容数据辅助决策。
学术研究者:采集社交媒体数据用于舆情、传播学、用户行为研究。
Python / 爬虫学习者:学习 Playwright 自动化、异步爬虫架构、模块化设计。
AI Agent 开发者:Pro 版本支持 OpenClaw / Claude Code / Cursor 一键安装 Skill,让 AI Agent 直接调用爬虫能力获取数据,实现数据采集与分析在 Agent 框架内闭环。
不适合使用
需要大规模商业爬取的场景:开源版本缺少多账号支持、断点续爬等企业级功能,且项目声明仅供学习研究,禁止用于商业用途。
想零配置开箱即用的普通用户:需要 Python、Node.js、Chrome 环境,还需要自备代理池资源。
六、实测体验 & 客观优缺点
上手难度:中等偏上,需要基础的 Python 环境知识,好在项目 README 文档完善、中文注释齐全,还有 WebUI 可视化界面降低门槛。
核心优势
完全开源免费(MIT),无订阅费用,7 万级 Star 社区活跃,项目持续维护。
免 JS 逆向设计,用 Playwright 控制真实浏览器,让平台自己算加密,维护成本低。
七大平台全覆盖,功能矩阵统一,模块化架构,新增和修复平台互不影响。
登录态缓存 + IP 代理池 + CDP 复用浏览器,风控规避设计完善。
支持 WebUI 可视化操作,提供 Web API 服务,二次开发友好。
现存不足
浏览器自动化方案相比纯 API 请求资源消耗更高,建议 8GB 以上内存设备运行。
IP 代理池需要自备,需要自建或购买商业代理服务。
平台反爬策略不断升级,登录态可能失效、IP 可能被封,需要定期维护和调整参数。
大规模采集所需的多账号支持、断点续爬等企业级功能在 Pro 版本,需要付费。
风险提示:自动化操作存在平台账号风控风险,仅供个人学习、自用研究,禁止用于商业用途或大规模爬取。
全文总结
MediaCrawler 的核心价值,是用 Playwright 替代 JS 逆向,让多平台数据采集的门槛大幅降低。七大平台全覆盖,MIT 协议开放源码,60K+ Star 说明它帮到了大量开发者和研究者。如果你需要采集社交媒体公开数据做分析研究,这是一个值得收藏的工具。
务必注意合规:项目 README 明确声明所有内容仅供学习参考,禁止用于商业用途或非法爬取,大规模采集平台数据可能违反《数据安全法》《个人信息保护法》,请遵守平台用户协议和当地法律法规,不要采集个人隐私数据。
如果你需要采集多平台社交数据,最希望优先采集哪个平台?欢迎评论区聊聊。
喜欢的话点击下方卡片关注一下我吧,为您推荐更多优秀好用的程序和软件。你也可以给我留言或私信,说出你需要的程序和软件,我帮大家推荐。
来源:微信公众号 - 织美ai






