news 2026/7/2 3:09:01

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

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
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-SignX-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辅助创作

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/2 3:08:43

Agent Loop 内核——从 prompt 到多轮对话的完整运转机制

Agent Loop 是什么? 用一句话概括:用户发 prompt → LLM 返回响应 → 如果 LLM 要求调工具就执行 → 把工具结果喂回 LLM → 重复,直到 LLM 说"我说完了"。 画成流程图: end_turn / stop_sequence max_tokens tool…

作者头像 李华
网站建设 2026/7/2 3:08:03

AI+薪酬管理:从“算薪自动化”到“决策智能化”的中大型企业升级路径

引言:薪酬管理为什么会是AI HR最先突破的领域中大型企业的人力资源决策中,薪酬永远是难度最高、压力最大、争议最多的那个模块。难度高,是因为薪酬规则极其复杂——多岗位序列、多地区社保、多币种结算、多福利组合、多绩效系数交织在一起&am…

作者头像 李华
网站建设 2026/7/2 3:07:49

张鹏翔在AI营销实战方法论沙龙上详解智能体如何助力企业长效流量增长

6月30日下午,由商界西北研究院旗下AI数智云课平台主办,贵思教育集团、晶淼企业管理咨询、融信汇德实业、诺可可网络联合承办的2026 企业AI营销获客实战方法论沙龙,在贵思教育集团民盟之家会客厅圆满落幕。40位西安本地传统企业家齐聚现场&…

作者头像 李华
网站建设 2026/7/2 2:59:18

AI工程实战:模型服务化与性能优化关键策略

1. 项目概述"AI 工程实战"这个标题背后,实际上隐藏着一个从理论到落地的完整技术闭环。作为在AI领域摸爬滚打多年的从业者,我见过太多停留在纸面的模型和算法,而真正能创造商业价值的,永远是那些能稳定运行在真实场景中…

作者头像 李华
网站建设 2026/7/2 2:58:16

view_source

🏷️标签:CTF、网络安全、攻防世界、Writeup、密码学、Web入门✅ 简介:本篇博文记录攻防世界新手区三道真实原题的完整解题过程,包含:view_source、base64、hello_world,覆盖 Web、Crypto、Misc 三大入门题…

作者头像 李华