Home
Login

MediaCrawler 是一个功能强大的多平台自媒体爬虫工具

NOASSERTIONPython 23.7kNanmiCoder Last Updated: 2025-06-20

MediaCrawler - 多平台自媒体爬虫工具

项目概述

MediaCrawler 是一个功能强大的多平台自媒体爬虫工具,由 NanmiCoder 开发维护。该项目基于 Playwright 技术,能够抓取多个主流社交媒体平台的公开信息,包括内容、评论等数据。

技术架构

核心技术

  • Playwright: 作为浏览器自动化框架,保留登录状态的浏览器环境
  • Python: 主要开发语言,版本要求 3.9.6+
  • JavaScript执行: 通过执行JS表达式获取加密参数
  • Node.js: 版本要求 16+

工作原理

项目采用 Playwright 搭桥的方式,保留登录成功后的上下文浏览器环境,通过执行 JavaScript 表达式获取一些加密参数。这种方式免去了复现核心加密 JS 代码的复杂工作,大大降低了逆向工程的难度。

环境要求

系统要求

  • Python 3.9.6+
  • Node.js 16+

依赖管理

项目新增了 uv 来管理项目依赖,可以使用 uv 来替代传统的 pip 进行依赖安装,更加方便快捷。

安装部署

基础安装步骤

# 进入项目根目录
cd MediaCrawler

# 创建虚拟环境
python -m venv venv

# 激活虚拟环境
# macOS & Linux
source venv/bin/activate
# Windows
venv\Scripts\activate

# 安装依赖
pip install -r requirements.txt

# 安装playwright浏览器
playwright install

数据库初始化(可选)

# 执行数据库初始化(仅首次执行)
python db.py

使用方法

基本命令

# 关键词搜索爬取
python main.py --platform xhs --lt qrcode --type search

# 指定帖子ID爬取
python main.py --platform xhs --lt qrcode --type detail

# 查看帮助信息
python main.py --help

配置说明

  • 项目默认不开启评论爬取模式
  • 如需爬取评论,请在 config/base_config.py 中修改 ENABLE_GET_COMMENTS 变量
  • 其他功能配置也可在 config/base_config.py 中查看,均有中文注释说明

数据存储

支持的存储方式

  1. MySQL数据库: 支持关系型数据库存储(需提前创建数据库)
  2. CSV文件: 保存到 data/ 目录下的CSV格式文件
  3. JSON文件: 保存到 data/ 目录下的JSON格式文件

Pro版本优势

项目还提供了 MediaCrawlerPro 版本,相较于开源版本具有以下优势:

  • 多账号+IP代理支持(重点功能)
  • 去除Playwright依赖,使用更加简单
  • 支持Linux环境使用
  • 代码重构优化,更易读易维护
  • 解耦JS签名逻辑,代码质量更高
  • 完美的架构设计,更易扩展
  • 新增自媒体视频下载器桌面端软件
  • 支持多平台首页信息流推荐(HomeFeed)

法律声明

免责声明

  • 本项目仅供学习和研究使用,禁止用于商业用途
  • 严禁用于非法目的或侵犯他人合法权益
  • 使用者需遵守相关法律法规,自行承担法律责任
  • 开发者不承担因使用本项目而引起的任何法律责任

项目价值

MediaCrawler 不仅仅是一个爬虫工具,更是一个优秀的学习项目:

  1. 架构设计学习: 项目架构设计成熟,值得学习借鉴
  2. 技术实践: 涵盖多种技术栈的综合应用
  3. 工程化思维: 从代码组织到部署的完整工程化实践
  4. 反爬虫技术: 学习现代反爬虫技术的应对方案