跳到主要内容
← 返回首页

MediaCrawler:多平台内容采集项目怎么用,有哪些边界

梳理 MediaCrawler 的平台能力、运行条件、默认配置、数据保存、WebUI 与非商业许可边界。

如果想了解一个多平台采集项目如何组织浏览器、平台适配和数据落盘,MediaCrawler 是一份可以阅读的开源项目。它覆盖小红书、抖音、快手、B 站、微博、百度贴吧和知乎,并提供命令行与 WebUI 两种入口。本文根据仓库提交 380b426 的 README、配置和项目文档整理,介绍功能、上手路径与使用限制;文中的命令仅作项目说明,未在真实平台执行。

项目能做什么

仓库说明列出了七个平台的关键词搜索、指定内容抓取、创作者主页、评论和二级评论等能力。实际能取得哪些字段,取决于各平台接口、登录状态与当前代码版本。媒体下载只覆盖小红书、抖音、快手、B 站和微博;贴吧、知乎未在项目的媒体下载清单中。
项目采用 Playwright 管理浏览器。默认配置启用 CDP 模式并连接已打开的 Chrome,复用现有浏览器上下文。这里会涉及浏览器的登录状态和 Cookie:仅在自己控制且获准使用的浏览器中操作,不应把远程调试端口暴露到公网。若不使用现有浏览器,可在 config/base_config.py 中调整 CDP_CONNECT_EXISTING;关闭 ENABLE_CDP_MODE 则切回标准 Playwright 模式。

先看运行条件

  • Python:仓库 pyproject.toml 要求 3.11 或更高版本。
  • Node.js:README 要求 16 或更高版本,部分平台的 JavaScript 执行会用到它。
  • 依赖管理:README 推荐 uv sync。默认 CDP 模式连接已有浏览器时,文档称无需额外安装 Playwright 浏览器驱动;标准模式才运行 uv run playwright install。
  • 浏览器:仓库当前的“连接已有 Chrome”说明要求 Chrome 144 或更高版本,并在 chrome://inspect/#remote-debugging 中由本人开启远程调试。运行时还需在浏览器弹窗中确认连接。
在已取得使用权限、了解目标平台规则的前提下,仓库给出的基本命令如下:
search 从配置读取关键词,detail 从配置读取指定内容 ID。配置入口是 config/base_config.py,各平台的细项在对应配置文件中。启动真实采集前,应先查看关键词、指定 ID、采集量和保存位置,避免沿用示例配置。

默认配置与数据去向

以本次归档的 config/base_config.py 为准,默认保存格式为 JSONL,SAVE_DATA_PATH 留空时落在项目的 data/ 目录;单次内容上限为 15,并发数为 1。一级评论抓取当前为开启,每条内容的一级评论数量上限为 10;二级评论、词云和媒体下载默认关闭。README 中“评论默认关闭”的旧说明与当前配置不一致,使用时应以实际检出的配置为准。
除默认 JSONL,项目文档还列出 CSV、JSON、Excel、SQLite、MySQL 和 PostgreSQL。数据库方式需要先执行相应的初始化命令。例如 SQLite:
媒体下载需要显式开启。项目示例使用 --get_media true,文件按平台和内容 ID 聚合到 data/<平台>/media/<内容ID>/ 或自定义保存目录;B 站高清 DASH 合流依赖 ffmpeg。媒体失败按 README 所述只记日志,不中断主采集,因此数据表有记录不代表媒体文件一定完整。

WebUI 是另一种操作入口

仓库还提供后端 API 与 Vite 前端组成的 WebUI,可以配置平台、登录方式和采集类型,查看日志以及预览、导出数据。开发模式下需分别启动后端和前端:
前端文档给出的地址是 http://localhost:5173/,后端默认端口为 8080。以下是仓库 README 自带的界面截图,属于项目展示图,不是本次运行结果。
notion image

许可与适用范围

仓库的 LICENSE 是“非商业学习使用许可证 1.1”,允许在其条件下为非商业学习目的使用、复制、修改和合并;未经版权所有者书面同意,不允许商业用途,也禁止大规模采集或干扰平台运营。公开源码不等于可直接用于商业业务。实际采集还需遵守目标平台规则与适用法律,处理账号、评论和个人信息时尤其要控制范围与保存方式。
这份项目适合用于阅读多平台适配、浏览器上下文管理、存储抽象和 WebUI 组织方式。平台可用性、登录成功率与采集结果会随外部平台变化;本文只核对了仓库文件,没有运行爬虫、登录账号、启动 WebUI 或验证真实平台数据。
我是分辨率网络的主理人,一个爱折腾的程序员,也在做独立开发。这里会分享 AI 工具、实用教程和应用思路:怎么上手,适合什么场景,能帮你解决什么问题。想让 AI 帮你省点时间、少做点重复活,或者用在自己的业务里,欢迎关注我。咱们从一个具体问题开始。