MediaCrawler 多平台爬虫工具
一句话简介
一个支持小红书、抖音、快手、B站等主流社交媒体的多平台自媒体数据采集爬虫,提供完整的登录、内容抓取与数据存储方案。
标签
适用应用场景
- 自媒体热点内容监控
- 舆情分析与数据挖掘
- 视频与图文素材批量采集
- 竞品账号内容追踪分析
README 中文摘要
项目简介
MediaCrawler 是一个多平台自媒体数据采集工具,支持小红书、抖音、快手、B 站、微博、贴吧、知乎等主流平台的公开信息抓取。核心目标是降低爬虫技术门槛,让学习者无需深入逆向复杂的加密算法即可获取所需的公开数据。
技术原理
- 基于 Playwright 浏览器自动化框架登录并保存登录态
- 利用已登录的浏览器上下文环境,通过 JS 表达式获取签名参数
- 无需 JS 逆向,复用浏览器已有的 Cookie 与登录态,规避大部分平台风控
功能特性
下表展示了各平台支持的能力矩阵:
| 平台 | 关键词搜索 | 指定帖子 ID | 二级评论 | 创作者主页 | 登录态缓存 | IP 代理池 | 评论词云图 |
|---|---|---|---|---|---|---|---|
| 小红书 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| 抖音 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| 快手 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| B 站 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| 微博 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| 贴吧 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| 知乎 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
前置依赖
环境与工具
- Python 包管理:推荐使用 uv,安装后运行
uv --version验证 - Node.js:版本 >= 16.0.0,下载地址
- Chrome 浏览器(推荐):版本 >= 144,并开启远程调试(
chrome://inspect/#remote-debugging),监听127.0.0.1:9222
安装依赖
cd MediaCrawler
uv sync # 同步 Python 依赖与版本
uv run playwright install # 标准 Playwright 模式才需要
默认使用 CDP 模式 连接已有 Chrome,复用登录态与扩展,可显著降低风控。如需切换,在
config/base_config.py中设置ENABLE_CDP_MODE = False。
运行爬虫
# 关键词搜索模式(按 config 中的关键词抓取)
uv run main.py --platform xhs --lt qrcode --type search
# 指定帖子 ID 模式
uv run main.py --platform xhs --lt qrcode --type detail
# 扫码登录后等待抓取完成
# 查看完整参数
uv run main.py --help
--platform 支持 xhs / dy / ks / bili / wb / tieba / zhihu;--lt 指定登录方式(qrcode / phone / cookie);--type 选择 search / detail / creator。其他可调参数(如 ENABLE_GET_COMMENTS 评论开关)均带中文注释,位于 config/base_config.py。
WebUI 可视化界面
提供 Web 前端,免命令行操作。开发模式需分别启动后端与前端:
# 终端 1:API 服务(默认 8080)
uv run uvicorn api.main:app --port 8080 --reload
# 终端 2:前端 Vite 开发服务器
cd webui && npm install && npm run dev # 默认 5173,自动代理 /api 到 8080
生产部署则先在 webui 目录执行 npm run build(产物输出到 api/webui/),随后仅启动 API 服务即可通过 http://localhost:8080 访问。WebUI 支持可视化配置、运行状态查看、日志输出与数据预览导出。
数据保存
支持 CSV、JSON、JSONL、Excel、SQLite 与 MySQL 等多种存储后端,可在配置文件中切换。详细说明参见 docs/data_storage_guide.md。
注意事项
- 本项目仅供学习与研究,禁止用于商业用途或任何违法违规行为
- 配置文件
config/base_config.py集中管理登录方式、爬取类型、关键词、代理、并发数、存储方式等所有可调项,并配有中文注释 - 首次运行需扫码完成登录;CDP 模式下浏览器会弹出确认对话框,60 秒内点击「接受」即可
摘要更新于 2026-08-13 00:30:45
· 原文 12095 字符
· md5 d267cd8528a7…