尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

GitHub 53K Star 爆款:不用 JS 逆向,7 大平台数据一把抓

GitHub 53K Star 爆款:不用 JS 逆向,7 大平台数据一把抓
📅 发布时间:2026/7/2 3:27:39

摘要: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 默认用 CDP(Chrome 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,不用命令行也能用

不习惯命令行的话,可以跑内置的 WebUI:

uv run uvicorn api.main:app --port 8080 --reload

浏览器打开http://localhost:8080,可视化配置爬取参数、实时查看运行日志、预览采集结果。对非技术背景的运营同事来说友好很多。


实际能拿来做什么

几个真实落地场景:

舆情监控:设置关键词定时抓小红书、微博上的讨论,自动生成词云图,快速发现负面舆情集中在哪个话题。

竞品分析:抓竞品账号的所有内容,统计发布频率、分析高互动帖子类型,找出自己账号的差异化空间。

用户研究:围绕目标产品批量采集评论,跑情感分析或关键词聚类,了解用户真实痛点,替代费时费力的人工筛选。

选题决策:搜索目标领域的热门关键词,看最近什么内容在涨,帮内容团队做选题参考,有数据支撑比拍脑袋靠谱。


Pro 版本额外有什么

开源版已经够用,但 Pro 版本(付费订阅)有几个值得关注的功能:

  • 断点续爬:爬到一半断掉不用从头来,大量数据场景必备

  • 多账号支持:分散请求频率,降低单账号限速风险

  • 去除 Playwright 依赖:部署更简单,Linux 服务器直接跑

  • 自媒体内容拆解 Agent:AI 自动分析采集内容

  • AI Agent Skill 支持:可通过 Claude Code / Cursor 一键调用,让 Agent 自动爬取数据

个人学习或小规模使用,开源版完全足够。需要生产级可靠性的场景,再考虑 Pro。


关于合规,这句话必须说

MediaCrawler 项目明确标注:仅供学习和技术研究使用,禁止商业用途。

用爬虫采集数据,法律边界这几年越来越清晰。几个基本原则:只抓公开可见的数据,不抓平台明确禁止的接口,不做大规模商业变现。合理使用,安全使用。


写在最后

MediaCrawler 的价值不在于功能多,而在于把门槛真的降下来了。不用逆向,不用研究加密算法,配置好关键词,一行命令跑起来,数据就出来了。

对做数据分析、品牌监测、学术研究的人来说,这个工具值得放进工具箱。

53K Star 不是虚的。

GitHub:https://github.com/NanmiCoder/MediaCrawler

作者 B 站主页:https://space.bilibili.com/434377496(分享爬虫技术和 AI 内容,感兴趣可以关注)

如果你用 MediaCrawler 做过有意思的项目,评论区聊聊你的场景——你最想抓哪个平台的数据?

我们下期再见!

PS:本文部分内容由AI辅助创作

相关新闻

  • Dockery:一个容器跑起来,就是你的私有 Docker Registry
  • 企业微信二次开发中的定期对账机制
  • 任务计划程序不显示后边的信息

最新新闻

  • PIC18LF4620驱动WS2812 LED灯带的嵌入式开发实践
  • 房颤史患者用匹妥布替尼Pirtobrutinib,出血风险比伊布替尼低吗
  • Java中String.valueOf(null)的惊天大坑:对比两个数时,日志打印的两数都是null,但Objects.equals()返回false!
  • 拆解大健康爆火七人拼团,P1 到 P10 晋升逻辑全曝光
  • 《TCP 客户端代码逐行寻宝:三次握手、死循环 close 的谜底全拆解》
  • 【课程设计/毕业设计】基于 Java 的高中生多元素质评价管理系统的设计与实现【附源码、数据库、万字文档】

日新闻

  • Python Playwright录制功能:从零到一构建自动化测试脚本
  • 如何用开源工具永久保存你心爱的小说:novel-downloader全攻略
  • In-Context Learning不是教知识,而是模式对齐:从5个示例到100个工业级样本的真相

周新闻

  • Windows字体自定义终极方案:No!! MeiryoUI完全指南
  • Deepin Boot Maker:告别命令行,3分钟制作Linux启动盘的智能解决方案
  • Plain Craft Launcher 2:重新定义你的Minecraft游戏体验

月新闻

  • 2026年6月公司网站搭建最新热门渠道测评:四大低成本/零代码平台对比+避坑
  • 【Linux】Linux arm 编译QT程序,出现expected “}“报错
  • 【MATLAB例程】四基站二维AOA定位与距离辅助增强对比仿真。基于角度观测和测距修正的固定目标平面定位精度分析

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号