本文基于开源项目 MediaCrawler 整理,面向想快速上手多平台公开数据采集的开发者。内容包含项目简介、环境安装、运行示例与常见注意事项,可直接用于 CSDN 发布。


目录


1. 项目简介

MediaCrawler 是一个多平台自媒体公开信息采集工具,支持小红书、抖音、快手、B站、微博、贴吧、知乎等平台。

其主要技术路线是:

  • 基于 Playwright 完成浏览器自动化登录与登录态保存
  • 利用登录态上下文执行 JS 表达式获取所需参数
  • 避免大量复杂逆向过程,降低上手门槛

对于想做内容分析、舆情观察、评论研究、账号数据监测的同学,这个项目非常适合作为学习和实践样例。


2. 核心能力与适用场景

MediaCrawler 提供的能力(不同平台支持程度略有差异):

  • 关键词搜索采集
  • 指定帖子/作品 ID 采集
  • 二级评论采集
  • 指定创作者主页采集
  • 登录态缓存
  • IP 代理池支持
  • 评论词云图生成

典型使用场景:

  1. 热门内容趋势分析
  2. 行业关键词舆情观察
  3. 评论语料采集(NLP/分类/情感分析)
  4. 竞品账号公开内容对比

3. 环境准备

在安装前,请先确认本机具备以下环境:

  • Python(建议与项目依赖兼容版本)
  • Node.js >= 16
  • uv(推荐,用于 Python 依赖管理)

3.1 安装 uv

uv 官方文档:

  • https://docs.astral.sh/uv/getting-started/installation

安装后验证:

uv --version

3.2 安装 Node.js

下载地址:

  • https://nodejs.org/en/download/

验证:

node -v
npm -v

4. 安装步骤(推荐 uv)

4.1 拉取项目

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

4.2 安装 Python 依赖

uv sync

4.3 安装 Playwright 浏览器驱动

uv run playwright install

到这里,运行环境就准备完成了。


5. 快速使用(命令行)

建议先查看配置文件:

  • config/base_config.py

这里有平台、采集类型、评论开关等关键参数(含中文注释)。

5.1 小红书关键词采集示例

uv run main.py --platform xhs --lt qrcode --type search

5.2 小红书指定帖子采集示例

uv run main.py --platform xhs --lt qrcode --type detail

5.3 查看所有平台参数帮助

uv run main.py --help

首次运行时,通常需要扫码登录对应平台账号。


6. WebUI 可视化使用

如果你不想频繁输入命令,也可以启动 WebUI:

# 启动 API 服务(默认端口 8080)
uv run uvicorn api.main:app --port 8080 --reload

# 或者
uv run python -m api.main

浏览器访问:

  • http://localhost:8080

你可以在页面中完成:

  • 平台与参数配置
  • 任务执行
  • 日志查看
  • 数据预览

7. 数据保存方式

MediaCrawler 支持多种存储格式:

  • CSV
  • JSON / JSONL
  • Excel
  • SQLite
  • MySQL

可按自己的分析链路选择:

  • 轻量分析优先 CSV / JSON
  • 本地结构化存储可选 SQLite
  • 团队共享与 BI 对接可选 MySQL

8. 常见问题与排查建议

8.1 Playwright 启动失败

优先检查:

  1. 是否已执行 uv run playwright install
  2. 本机网络是否影响浏览器组件下载
  3. 是否存在系统权限限制

8.2 登录后仍抓不到数据

优先检查:

  1. 登录态是否过期
  2. 平台风控是否触发
  3. 配置项(关键词、ID、采集范围)是否正确

8.3 依赖冲突或安装慢

建议:

  • 优先使用 uv 管理依赖
  • 保持 Python 版本与项目依赖兼容
  • 国内网络环境可配置镜像源加速

9. 合规与免责声明

请务必遵守目标平台协议与当地法律法规,本文及项目内容仅用于学习和技术研究。

不要将爬虫用于非法用途或侵犯他人权益的场景。

发布到 CSDN 时,建议保留这段合规声明,避免误导读者将技术用于不当用途。


10. 项目地址

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐