MediaCrawler 使用教程

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

⭐ 47.2K Star · 开源免费

📖 项目简介

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

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

核心亮点

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

支持平台与功能一览

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

⚙️ 环境要求

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

🚀 安装与使用

1

克隆项目代码

bash git clone https://github.com/NanmiCoder/MediaCrawler.git
cd MediaCrawler
2

安装依赖(推荐 uv)

bash # 使用 uv(推荐)
uv sync

# 安装浏览器驱动
uv run playwright install

如果使用 pip:

bash python -m venv venv
venv\Scripts\activate # Windows
pip install -r requirements.txt
playwright 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 支持多种数据存储方式:

常见问题

Q: 支持哪些登录方式?

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

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

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

Q: 如何爬取评论?

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

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

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