社交媒体数据是市场研究、趋势分析和竞争情报的金矿——但要通过编程方式访问却出了名地困难。平台会主动封锁爬虫、变更 API 并要求复杂的认证流程。MediaCrawler 已成为应对这一挑战最受欢迎的开源解决方案之一,拥有超过 30,000 个 GitHub 星标,并支持所有主要的中文社交媒体平台。
位于 github.com/NanmiCoder/MediaCrawler 的项目提供了一个统一的框架,用于从小红书、抖音、快手、Bilibili、微博等平台爬取数据。它使用 Playwright 进行浏览器自动化、IP 轮换和 Cookie 管理,以绕过反爬虫措施。结果是一个可靠的数据管道,用于提取帖子、评论、用户个人资料和互动指标。
MediaCrawler 的受欢迎源于其务实的设计。它不是一个通用的爬虫库,而是针对每个支持平台的特性进行了专门调整——登录流程、速率限制、响应格式和反机器人检测机制都已内部处理。用户配置目标(关键字、用户 ID、话题标签),爬虫会处理其余工作。
什么是 MediaCrawler?
MediaCrawler 是一个开源、多平台的社交媒体数据爬虫,使用基于 Playwright 的浏览器自动化来收集主要社交平台上的内容。它支持基于搜索的爬取(按关键字)、基于用户的爬取(按用户 ID)和评论收集。数据以结构化 JSON 格式输出,用于下游分析。
支持哪些平台?
MediaCrawler 支持所有主要的中文社交媒体平台以及越来越多的国际平台。
| 平台 | 类型 | 爬取模式 |
|---|---|---|
| 小红书 | 生活/内容分享 | 搜索笔记、用户笔记、评论 |
| 抖音 | 短视频 | 搜索视频、用户视频、评论 |
| 快手 | 短视频 | 搜索视频、用户视频 |
| Bilibili | 视频流 | 搜索视频、用户视频、评论 |
| 微博 | 微博客 | 搜索帖子、用户帖子、评论 |
| 知乎 | 问答平台 | 搜索问题、答案 |
| 贴吧(规划中) | 论坛 | 搜索帖子 |
| TikTok 国际版(规划中) | 短视频 | 搜索视频 |
每个平台都有根据其 API 行为和反爬虫措施量身定制的爬取策略。
MediaCrawler 采用什么技术?
MediaCrawler 建立在完善的 Python 库堆栈之上,用于网页自动化和数据处理。
| 组件 | 技术 | 用途 |
|---|---|---|
| 浏览器自动化 | Playwright | 无头浏览器控制 |
| 代理管理 | 自定义 IP 轮换 | 绕过速率限制和封锁 |
| Cookie 管理 | 持久性 Cookie 存储 | 维持登录会话 |
| 数据提取 | CSS/XPath 选择器 | 解析页面内容 |
| 数据存储 | JSON、CSV、MySQL | 输出收集的数据 |
| 并发 | asyncio | 并行爬取 |
| 反检测 | 自定义隐身修补 | 避免机器人检测 |
基于 Playwright 的方法意味着 MediaCrawler 像真实用户一样与页面交互,与仅基于 HTTP 请求的爬虫相比,平台更难检测。
MediaCrawler 有哪些主要功能?
MediaCrawler 提供了超越基本内容提取的全面爬取能力。
| 功能 | 描述 |
|---|---|
| 关键字搜索爬取 | 收集所有符合搜索条件的帖子/视频 |
| 用户个人资料爬取 | 提取特定用户的所有内容 |
| 评论收集 | 收集帖子上的评论和回复 |
| 自动登录 | 每个平台支持凭证或二维码登录 |
| 代理轮换 | SOCKS5/HTTP 代理池以实现 IP 多样性 |
| 速率限制 | 可配置的延迟以避免检测 |
| 增量爬取 | 从最后检查点恢复 |
| 结构化输出 | 跨平台统一字段名称的 JSON |
MediaCrawler 有 Pro 版本吗?
核心 MediaCrawler 项目是完全开源且免费的。开发者提供了一个「Pro」版本,为商业用户提供额外功能。
| 功能 | 开源版 | Pro 版 |
|---|---|---|
| 平台支持 | 6 个平台 | 10+ 个平台 |
| 代理支持 | 基本 SOCKS5 | 高级轮换代理 |
| 数据导出 | JSON + CSV | JSON、CSV、MySQL、Elasticsearch |
| 速率限制 | 手动配置 | 自适应 AI 速率限制 |
| 支持 | GitHub Issues | 专属支持频道 |
| 许可 | MIT | 商业许可 |
Pro 版本主要针对运行大规模数据收集管道的企业。
常见问题
什么是 MediaCrawler?
MediaCrawler 是一个开源 Python 工具,用于从小红书、抖音、Bilibili、微博等平台爬取社交媒体数据。它使用 Playwright 浏览器自动化来提取帖子、评论和用户数据。
支持哪些社交媒体平台?
小红书、抖音、快手、Bilibili、微博和知乎。TikTok 国际版计划在未来版本中支持。
MediaCrawler 使用什么技术?
Playwright 用于浏览器自动化、asyncio 用于并发爬取、可配置的 IP 轮换以及用于维持会话的持久性 Cookie 管理。
MediaCrawler 有哪些主要功能?
关键字搜索爬取、用户个人资料提取、评论收集、自动登录、代理轮换、速率限制、增量爬取和结构化 JSON 输出。
MediaCrawler 有 Pro/企业版本吗?
有的。Pro 版本提供额外的平台、高级代理管理、自适应速率限制以及针对企业用户的商业支持。
延伸阅读
flowchart TB
A[用户配置] --> B[MediaCrawler 引擎]
B --> C{选择平台}
C --> D[小红书]
C --> E[抖音]
C --> F[Bilibili]
C --> G[微博]
D --> H[启动 Playwright]
E --> H
F --> H
G --> H
H --> I[登录 + Cookie 管理]
I --> J[导航至目标]
J --> K[提取数据]
K --> L[解析与标准化]
L --> M[JSON 输出]
M --> N[分析管道]graph LR
subgraph 数据管道
A[搜索关键字] --> B[自动登录]
B --> C[选择代理]
C --> D[页面爬取]
D --> E[数据解析]
E --> F[格式化 JSON]
end
subgraph 存储
F --> G[本地文件]
F --> H[数据库]
F --> I[数据仓库]
end
subgraph 反检测
J[用户代理轮换]
K[类人延迟]
L[IP 轮换]
M[隐身修补]
end
無程式碼也能輕鬆打造專業LINE官方帳號!一鍵導入模板,讓AI助你行銷加分!