6.8万 Star:多平台自媒体爬虫 MediaCrawler 完整教程(小红书/抖音/B站/微博等,浏览器自动化免逆向)

20次阅读
没有评论

多平台自媒体数据采集工具

MediaCrawler(NanmiCoder/MediaCrawler)是一个功能强大的多平台自媒体数据采集工具,支持小红书、抖音、快手、B 站、微博、贴吧、知乎等主流平台的公开信息抓取。

技术原理:基于 Playwright 浏览器自动化框架登录并保存登录态,利用保留登录态的浏览器上下文环境,通过 JS 表达式获取签名参数——无需 JS 逆向复杂加密算法,大幅降低技术门槛。默认 CDP 模式连接已有 Chrome,复用登录态、Cookie、扩展,降低平台风控检测风险。

版本与获取:实测 67,821 Star(12,940 fork,Python,2023-06 创建、今天仍在更新),仓库 license 标注 NOASSERTION。官方另有商业版 MediaCrawlerPro(断点续爬、多账号+IP 代理池、去 Playwright、AI Agent 支持)。

⚠️ 合规警示:本工具仅供学习和技术研究,严禁用于商业用途或非法目的。作者免责声明明确:爬虫技术仅用于学习和研究,不得用于对其他平台进行大规模爬虫或其他非法行为;国内已有爬虫违法违规案件。请严格遵守《网络安全法》等法律法规与各平台规则,控制采集频率、尊重数据版权与用户隐私;因使用本项目引起的任何法律责任由使用者自行承担。

✨ 核心亮点

  • 🖥️ 浏览器自动化:Playwright 登录态缓存,无需 JS 逆向
  • 🌐 7 大平台:小红书/抖音/快手/B站/微博/贴吧/知乎
  • 🖥️ WebUI 界面:可视化配置、实时日志、数据预览导出
  • 💾 多格式存储:CSV/JSON/JSONL/Excel/SQLite/MySQL

🧩 能力速览

项目 说明
输入 关键词 / 帖子 URL 或 ID / 创作者主页 / 登录方式(扫码等)
适用类型 技术学习、研究采集公开信息、数据分析(仅限合规场景)
输出 帖子信息、评论(含二级评论)、媒体文件(封面/视频/图文图片)、评论词云图
语言 / 兼容 Python 3.11;uv 管理;抖音/知乎需 Node ≥ 16;Chrome ≥ 144(CDP 模式)

🖼️ 效果图与演示

MediaCrawler WebUI 界面演示示意
演示示意:WebUI 可视化采集管理界面(配置/数据表格/日志)
MediaCrawler 平台与导出演示示意
演示示意:7 大平台支持 + 6 种数据导出格式

🚀 上手步骤

最快路径:uv 装依赖 + 默认 CDP 模式连已有 Chrome,`uv run main.py` 一条命令跑起来。

① 装 uv 与依赖

先装 uv(Python 包管理器),clone 仓库后一条命令装好依赖。标准 Playwright 模式才需装浏览器驱动。

git clone https://github.com/NanmiCoder/MediaCrawler.git
cd MediaCrawler
uv sync        # 或 uv run main.py --help 自动装依赖

② 配置 Chrome(CDP 模式,推荐)

装 Chrome ≥ 144;地址栏打开 chrome://inspect/#remote-debugging,勾选「Allow remote debugging for this browser instance」,看到 Server running at 127.0.0.1:9222 即可。运行后 Chrome 弹确认框点「接受」(60 秒内)。

③ 运行爬虫

在 config/base_config.py 配置关键词/平台/是否抓评论等(有中文注释)。命令行或扫 APP 二维码登录。

uv run main.py --platform xhs --lt qrcode --type search   # 关键词搜索
uv run main.py --platform xhs --lt qrcode --type detail   # 指定帖子ID
uv run main.py --help

④ (可选)WebUI / 媒体下载

起后端 uvicorn(8080)+ 前端 Vite(5173),访问 localhost:5173 可视化操作;加 --get_media true 下载封面/视频/图,按帖子 ID 落盘 data/ 下。

uv run uvicorn api.main:app --port 8080 --reload   # 终端1
cd webui && npm install && npm run dev            # 终端2 → 打开 localhost:5173

🎯 典型场景

  • 📚 技术学习:Playwright 自动化与反爬思路学习
  • 🔬 公开数据研究:低频率采集公开信息做分析(须合规)
  • 📊 评论词云:对评论做词云/情感可视化作研究
  • 🧩 接口学习:浏览器上下文 + JS 表达式取签名

📊 与同类做法比

做法 结果
纯 requests + 逆向加密 需破解复杂签名算法,门槛高、易失效
通用爬虫框架 针对性强,需自己处理登录态/风控
MediaCrawler 浏览器自动化 + 登录态缓存,无需 JS 逆向,多平台开箱即用

⚠️ 合规提醒:务必控制采集频率、只采集公开信息、不抓取未授权数据、不用于商业/牟利;持续高频采集可能触发平台风控(限流/封号/法律风险)。请先阅读作者免责声明与爬虫违法违规案例后再决定是否使用。

❓ 常见问题

Q:需要 JS 逆向吗?
不需要。核心基于 Playwright 浏览器自动化 + 登录态缓存,通过浏览器上下文里的 JS 表达式获取签名参数,无需破解加密算法。

Q:支持哪些平台?
小红书、抖音、快手、B 站、微博、贴吧、知乎。每平台支持关键词搜索、指定帖子 ID、二级评论、创作者主页、登录态缓存、IP 代理池、评论词云。

Q:用什么数据格式?
CSV、JSON、JSONL、Excel、SQLite、MySQL 均可,详细配置见数据存储指南。

Q:必须装 Chrome 吗?
默认 CDP 模式连已有 Chrome(≥144,复用登录态降低风控),无需装浏览器驱动;也可切 ENABLE_CDP_MODE=False 走标准 Playwright 模式。

Q:能下载视频/封面吗?
能。加 --get_media true 或在 config 设 ENABLE_GET_MEDIA=True,按帖子 ID 聚合落盘 data/ 下;B 站装 ffmpeg 可走 DASH 最高画质合流。

Q:可以用 WebUI 吗?
可以。后端 uvicorn(8080)+ 前端 Vite(5173),可视化配置参数、实时看日志、数据预览导出。

Q:能商用吗?
不能。官方免责声明明确仅供学习研究,禁止商业用途、禁止大规模爬虫/非法行为。国内已有爬虫违法违规案件,使用者自行承担法律责任。

Q:有商业增强版吗?
有 MediaCrawlerPro:断点续爬、多账号 + IP 代理池、去 Playwright、Linux 完整支持、AI Agent 一键安装等,需订阅。

📎 GitHub 搜索 NanmiCoder/MediaCrawler · 关注「AI工具匠」获取更多 AI 工具实操教程

正文完
 0
评论(没有评论)