GitHub 53K Star 爆款:不用 JS 逆向,7 大平台数据一把抓 摘要MediaCrawler 是一个支持小红书、抖音、B站等 7 大平台的开源数据采集工具GitHub 53K Star。核心亮点是无需 JS 逆向——基于 Playwright 浏览器自动化直接复用登录态获取签名参数大幅降低技术门槛。本文从原理到实操帮你 10 分钟跑起来第一个爬虫。上周一个在品牌部做竞品监测的朋友发来消息问有没有办法定期抓小红书的评论数据最好门槛低一点——他会 Python但没做过爬虫。我给他发了一个 GitHub 链接MediaCrawler。他研究了一天回来说这个东西太香了小红书、抖音、B站一个工具全搞定而且根本不用逆向加密算法。今天就来聊聊这个项目。为什么 53K Star 不是虚的GitHub 上爬虫项目多如牛毛能做到 53,000 Star 的寥寥无几。MediaCrawler 凭什么做到了覆盖面是真的广。7 个主流平台全支持小红书笔记搜索、评论采集、创作者主页抖音视频搜索、评论、创作者主页快手、B站、微博、百度贴吧、知乎同样全覆盖不是支持了一半功能就算数的那种。关键词搜索、指定帖子 ID 爬取、二级评论、创作者主页爬取……每个平台的功能矩阵都是满的。更重要的是它真正做到了低门槛。这才是 53K Star 背后的真正原因。无需 JS 逆向这到底意味着什么做过爬虫的人都知道抖音、小红书这类平台最难啃的地方不是数据结构而是请求签名。每次接口请求都带着复杂的加密参数比如X-Sign、X-Bogus这些参数通过 JS 混淆算法生成破解起来要花大量时间而且平台一旦更新加密逻辑之前的工作就废了。传统路子花几天逆向分析 JS写出签名生成函数再用 Python 模拟请求。MediaCrawler 完全不走这条路基于 Playwright 浏览器自动化框架直接在真实浏览器上下文里执行 JS 表达式签名参数由浏览器本身生成。你不需要理解签名算法因为根本不用破解它。浏览器已经帮你算好了。这个思路有几个实际好处不随平台加密更新而失效零逆向工作量后续维护成本极低一句话把难搞的部分交给浏览器你只管拿数据。快速上手10 分钟跑起来第一个爬虫环境准备需要Python 3.10、Node.js 16、Chrome 浏览器版本 ≥ 144。第一步克隆项目安装依赖推荐用uv目前最快的 Python 包管理工具gitclonehttps://github.com/NanmiCoder/MediaCrawler.gitcdMediaCrawler uv sync第二步开启 Chrome 远程调试在 Chrome 地址栏输入chrome://inspect/#remote-debugging勾选 **Allow remote debugging for this browser instance**看到页面显示Server running at: 127.0.0.1:9222就表示就绪了。这步是为了让 MediaCrawler 通过 CDP 模式连接你的 Chrome下文会细说为什么这样做。第三步跑第一个爬虫# 扫码登录搜索关键词内容以小红书为例uv run main.py --platform xhs --lt qrcode --typesearch程序会弹出二维码用手机扫码登录然后按配置文件里的关键词开始爬取。其他平台用法# 抖音uv run main.py --platform dy --lt qrcode --typesearch# B站支持 Cookie 登录uv run main.py --platform bili --lt cookie --typesearch# 查看所有参数说明uv run main.py --help核心配置项打开config/base_config.py几个最常用的配置PLATFORM xhs# 平台xhs / dy / bili / ks / wb / tieba / zhihuCRAWLER_TYPE search# 模式search搜索 / detail指定ID / creator创作者主页KEYWORDS Python爬虫# 搜索关键词逗号分隔多个ENABLE_GET_COMMENTS True# 是否采集评论CRAWLER_MAX_NOTES_COUNT 50# 最多爬取帖子数量改完配置重新运行命令即可。第一次跑建议先改个感兴趣的关键词看看效果再调整参数。CDP 模式这个设计真的聪明MediaCrawler 默认用 CDPChrome DevTools Protocol模式连接你本地已有的 Chrome而不是另起一个无头浏览器。为什么这样更好你在 Chrome 里已经登录了各个平台MediaCrawler 可以直接复用这些登录状态、Cookie、甚至浏览器扩展。对平台来说这和你正常用浏览器上网几乎没区别被风控识别的概率大幅下降。传统无头浏览器Headless Chrome的特征很明显平台很容易检测出来。CDP 模式规避了这个问题。如果需要在服务器上部署也可以切换为标准 Playwright 模式# config/base_config.pyENABLE_CDP_MODE False# 切换为标准 Playwright 模式然后安装浏览器驱动uv run playwright install数据怎么存你说了算MediaCrawler 支持多种存储方式在配置文件里切换即可存储类型适用场景CSV / Excel快速导入 Excel 分析给不懂技术的同事用JSON / JSONL程序做二次处理接后续分析管道SQLite本地轻量存储不需要额外装数据库MySQL / MongoDB生产环境、团队共享数据个人项目用 SQLite 基本够了不需要额外搭服务。如果是团队共用或需要长期存储上 MySQL 或 MongoDB。还有个 WebUI不用命令行也能用不习惯命令行的话可以跑内置的 WebUIuv run uvicorn api.main:app --port 8080 --reload浏览器打开http://localhost:8080可视化配置爬取参数、实时查看运行日志、预览采集结果。对非技术背景的运营同事来说友好很多。实际能拿来做什么几个真实落地场景舆情监控设置关键词定时抓小红书、微博上的讨论自动生成词云图快速发现负面舆情集中在哪个话题。竞品分析抓竞品账号的所有内容统计发布频率、分析高互动帖子类型找出自己账号的差异化空间。用户研究围绕目标产品批量采集评论跑情感分析或关键词聚类了解用户真实痛点替代费时费力的人工筛选。选题决策搜索目标领域的热门关键词看最近什么内容在涨帮内容团队做选题参考有数据支撑比拍脑袋靠谱。Pro 版本额外有什么开源版已经够用但 Pro 版本付费订阅有几个值得关注的功能断点续爬爬到一半断掉不用从头来大量数据场景必备多账号支持分散请求频率降低单账号限速风险去除 Playwright 依赖部署更简单Linux 服务器直接跑自媒体内容拆解 AgentAI 自动分析采集内容AI Agent Skill 支持可通过 Claude Code / Cursor 一键调用让 Agent 自动爬取数据个人学习或小规模使用开源版完全足够。需要生产级可靠性的场景再考虑 Pro。关于合规这句话必须说MediaCrawler 项目明确标注仅供学习和技术研究使用禁止商业用途。用爬虫采集数据法律边界这几年越来越清晰。几个基本原则只抓公开可见的数据不抓平台明确禁止的接口不做大规模商业变现。合理使用安全使用。写在最后MediaCrawler 的价值不在于功能多而在于把门槛真的降下来了。不用逆向不用研究加密算法配置好关键词一行命令跑起来数据就出来了。对做数据分析、品牌监测、学术研究的人来说这个工具值得放进工具箱。53K Star 不是虚的。GitHubhttps://github.com/NanmiCoder/MediaCrawler作者 B 站主页https://space.bilibili.com/434377496分享爬虫技术和 AI 内容感兴趣可以关注如果你用 MediaCrawler 做过有意思的项目评论区聊聊你的场景——你最想抓哪个平台的数据我们下期再见PS本文部分内容由AI辅助创作