大家好,我是何三,独立开发者。
做数据分析或者内容运营的朋友,肯定有过从各大社交平台采集数据的需求。但小红书、抖音、B站这些平台的反爬机制越来越严格,传统的请求方式很容易被封。最近我发现了一个宝藏项目 MediaCrawler,专门解决这个问题。
项目介绍
MediaCrawler 是 NanmiCoder 开发的多平台自媒体数据采集工具,在 GitHub 上已经获得了超过 43K星。它支持小红书、抖音、快手、B站、微博、贴吧、知乎等主流平台的数据抓取,可以爬取笔记、视频、评论等公开信息。
项目地址: https://github.com/NanmiCoder/MediaCrawler

技术亮点
最让我印象深刻的是它的技术实现方式。不同于传统的需要 JS 逆向工程的爬虫方案,MediaCrawler 基于 Playwright 浏览器自动化框架,通过登录保存登录态,然后利用浏览器上下文环境执行 JS 表达式来获取签名参数。
这个方案的优势很明显:
无需复杂逆向 - 避开了各平台复杂的加密算法,大幅降低技术门槛
稳定性高 - 模拟真实用户操作,不容易被检测
易于维护 - 平台接口变化时,只需调整 JS 表达式即可
核心功能
MediaCrawler 支持的功能非常全面:
多种爬取模式 - 支持关键词搜索和指定帖子 ID 爬取,灵活选择数据来源
深度数据采集 - 不仅获取主内容,还能爬取二级评论,满足深度分析需求
创作者主页 - 可以指定爬取某个创作者的主页数据,适合竞品分析
登录态缓存 - 一次登录,长期有效,避免频繁扫码登录的麻烦
IP 代理池 - 支持 IP 代理,提高采集效率和安全性
数据可视化 - 支持生成评论词云图,快速把握用户关注点
多种存储格式 - 支持 CSV、JSON、Excel、SQLite、MySQL 等多种方式保存数据
使用体验
安装过程相对简单,推荐使用 uv 包管理器。项目依赖 Node.js 环境(版本≥16.0.0),这是因为部分平台(如抖音和知乎)需要 Node.js 支持。
运行命令也很直观:
# 搜索小红书关键词相关内容
uv run main.py --platform xhs --lt qrcode --type search
# 获取指定帖子详情
uv run main.py --platform xhs --lt qrcode --type detail
项目还提供了 WebUI 可视化界面,启动后通过浏览器访问 http://localhost:8080 就能操作,对不熟悉命令行的用户非常友好。
适用场景
我认为 MediaCrawler 特别适合以下场景:
- 市场调研 - 分析竞品在小红书、抖音的内容策略
- 舆情监控 - 跟踪品牌在各大平台的用户反馈
- 内容分析 - 研究热门话题和用户评论趋势
- 学习研究 - 了解现代爬虫技术的实现方式
注意事项
需要提醒的是,项目明确强调仅供学习使用,禁止用于商业用途。爬虫涉及法律合规问题,使用时一定要遵守相关法律法规和平台服务条款。
最后
MediaCrawler 是一个非常实用的爬虫工具,它的技术实现思路很有参考价值。对于需要学习爬虫技术或者有数据采集需求的朋友来说,这个项目值得深入研究。
如果你对爬虫技术感兴趣,或者有合规的数据采集需求,不妨试试 MediaCrawler。项目的文档也很完善,还有配套的爬虫入门教程,适合各个层次的开发者学习。