MediaCrawler 使用教程

MediaCrawler 使用教程

项目简介

MediaCrawler 是一个功能强大的多平台自媒体数据采集工具,基于 Playwright 浏览器自动化框架,无需逆向复杂的 JS 加密算法,即可轻松抓取小红书、抖音、快手、B站、微博、贴吧、知乎等 7 大主流平台的公开信息。

支持关键词搜索、指定帖子爬取、二级评论抓取、创作者主页数据、登录态缓存、IP代理池等功能,还能自动生成评论词云图,是自媒体运营和数据分析的利器。

💡
GitHub 地址:
https://github.com/NanmiCoder/MediaCrawler

核心亮点

🌐 7大平台全覆盖
小红书、抖音、快手、B站、微博、贴吧、知乎一网打尽
🔓 无需JS逆向
基于 Playwright 保存登录态,通过 JS 表达式获取签名参数
💬 深度评论抓取
支持二级评论、创作者主页、指定帖子ID精准爬取
☁️ 评论词云图
自动生成评论词云,数据可视化分析一步到位

支持平台与功能一览

平台 关键词搜索 指定帖子 二级评论 创作者主页 IP代理
小红书 ✅ ✅ ✅ ✅ ✅
抖音 ✅ ✅ ✅ ✅ ✅
快手 ✅ ✅ ✅ ✅ ✅
B站 ✅ ✅ ✅ ✅ ✅
微博 ✅ ✅ ✅ ✅ ✅
贴吧 ✅ ✅ ✅ ✅ ✅
知乎 ✅ ✅ ✅ ✅ ✅

环境要求

  • Python:3.11(推荐)
  • Node.js:>= 16.0.0(抖音和知乎爬取需要)
  • uv:推荐使用 uv 包管理工具(速度快、依赖解析准确)
  • 操作系统:Windows / macOS / Linux 均支持

⚠️ 如果使用原生 pip 安装,建议 Python 版本为 3.11,其他版本可能存在依赖兼容性问题。

安装与使用

步骤 1
克隆项目代码
bash
git clone https://github.com/NanmiCoder/MediaCrawler.gitcd MediaCrawler
步骤 2
安装依赖(推荐 uv)
bash
# 使用 uv(推荐)uv sync# 安装浏览器驱动uv run playwright install

如果使用 pip:

bash
python -m venv venvvenv\Scripts\activate  # Windowspip install -r requirements.txtplaywright install
步骤 3
修改配置文件

编辑 config/base_config.py,设置搜索关键词、爬取类型、是否开启评论等选项(文件中有详细中文注释)。

步骤 4
运行爬虫
bash
# 关键词搜索小红书笔记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 --platform dy --lt qrcode --type search# 查看所有选项uv run main.py --help

✅ 运行后会弹出浏览器,使用对应平台APP扫码登录即可,登录态会自动缓存。

步骤 5
WebUI 可视化操作(可选)
bash
# 启动 Web 界面uv run uvicorn api.main:app --port 8080 --reload

访问 http://localhost:8080 即可使用可视化界面配置爬虫参数、实时查看运行状态和数据预览。

数据存储

MediaCrawler 支持多种数据存储方式:

  • CSV:最简单的表格格式,方便 Excel 打开
  • JSON / JSONL:结构化数据,方便程序处理
  • Excel:直接生成 .xlsx 文件
  • SQLite:本地数据库,无需额外安装
  • MySQL:适合大规模数据存储

常见问题

Q: 支持哪些登录方式?

支持二维码扫码登录(推荐)和手机号验证码登录。扫码登录最稳定,登录态会自动缓存,下次运行无需重复登录。

Q: 爬取数据会被封号吗?

项目仅用于学习和研究目的,支持 IP 代理池分散请求。建议合理控制爬取频率,遵守平台使用条款。

Q: 如何爬取评论?

在 config/base_config.py 中将 ENABLE_GET_COMMENTS 设置为 True 即可开启评论爬取,支持二级评论。

Q: 支持 Linux 服务器部署吗?

支持。Linux 环境下使用 Playwright 的 headless 模式即可运行,无需图形界面。

© 版权声明
THE END
喜欢就支持一下吧
点赞11 分享