MediaCrawler 多平台爬虫工具

NanmiCoder/MediaCrawler 访问 GitHub ↗
🔤 Python ★ 61960 ⑂ 0 daily #7 (+215) 抓取 2026-08-13

一句话简介

一个支持小红书、抖音、快手、B站等主流社交媒体的多平台自媒体数据采集爬虫,提供完整的登录、内容抓取与数据存储方案。

标签

  • Python
  • 网络爬虫
  • 社交媒体
  • 数据采集
  • 多媒体

适用应用场景

  • 自媒体热点内容监控
  • 舆情分析与数据挖掘
  • 视频与图文素材批量采集
  • 竞品账号内容追踪分析

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…