基于 Python 的多平台媒体原生本地解析系统
核心特性 • 支持平台 • 部署指南 • 开发者文档 • 测试自检 • 开发文档 • 联系作者
Media-Parser是一款专为短视频创作者与开发者打造的100%原生本地解析工具。
通过“智能识别 -> 本地抓取 -> 提取地址 -> 快捷下载”的闭环,助你高效获取无水印素材。
不依赖外部API,不套壳第三方库,无浏览器开销,纯底层协议与算法逆向。
- 极速轻量:纯 HTTP 网络协议与底层算法逆向,免启动 Chromium/Playwright 等笨重浏览器,内存占用极低(<100MB),毫秒级极速响应。
- 原生自主:100% 本地代码闭环抓取,零外部商用 API 或第三方代解析依赖,数据链路自主可控,杜绝断流与隐私泄露风险。
- 插件化解耦:内置
ParserFactory模块自动发现与工厂分发机制,50 个平台独立解耦,遵循统一的数据契约,新增与维护平台极度轻松。 - 开箱即用:提供标准 JSON 接口、Web 体验页与轻量运营控制台,默认内置 SQLite,Docker Compose 一键构建。
- 访问控制:支持客户注册、管理员配置有效期与积分、API Key 管理、全局与单平台开关、用户总量/单个密钥/平台全局三级 QPS 限流和调用日志。
| 平台名称 | 作者 | 标题 | 文案 | 封面 | 视频 | 图集 | 多视频 | 实况 | 音频 | 字幕 |
|---|---|---|---|---|---|---|---|---|---|---|
| 抖音 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| 小红书 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||||
| 视频号 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||||
| 微信公众号 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |||
| 快手 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||
| 哔哩哔哩 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |||
| 豆包 | ✓ | ✓ | ✓ | ✓ | ✓ | |||||
| 即梦AI | ✓ | ✓ | ✓ | ✓ | ✓ | |||||
| 小云雀AI | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||||
| 可灵AI | ✓ | ✓ | ✓ | ✓ | ||||||
| 海螺AI | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||||
| 夸克AI | ✓ | ✓ | ✓ | ✓ | ✓ | |||||
| 通义千问 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||||
| 腾讯元宝 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||||
| 闲鱼 | ✓ | ✓ | ✓ | |||||||
| 拼多多 | ✓ | ✓ | ✓ | ✓ | ✓ | |||||
| Soul | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||||
| 汽水音乐 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||||
| QQ音乐 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |||
| 网易云音乐 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||
| 酷狗音乐 | ✓ | ✓ | ✓ | ✓ | ✓ | |||||
| 配音秀 | ✓ | ✓ | ✓ | ✓ | ||||||
| 松果时刻 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |||
| 腾讯频道 | ✓ | ✓ | ✓ | ✓ | ||||||
| 剪映 / CapCut | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||||
| 快影 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||||
| 皮皮搞笑 | ✓ | ✓ | ✓ | ✓ | ✓ | |||||
| 微视 | ✓ | ✓ | ✓ | ✓ | ||||||
| AcFun | ✓ | ✓ | ✓ | ✓ | ||||||
| 西瓜视频 | ✓ | ✓ | ✓ | ✓ | ✓ | |||||
| 今日头条 | ✓ | ✓ | ✓ | ✓ | ✓ | |||||
| 绿洲 | ✓ | ✓ | ✓ | ✓ | ✓ | |||||
| 皮皮虾 | ✓ | ✓ | ✓ | ✓ | ✓ | |||||
| 全民K歌 | ✓ | ✓ | ✓ | |||||||
| 新片场 | ✓ | ✓ | ✓ | ✓ | ✓ | |||||
| 好看视频 | ✓ | ✓ | ✓ | ✓ | ||||||
| 梨视频 | ✓ | ✓ | ✓ | ✓ | ||||||
| 微博 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||||
| 知乎 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||||
| 虎牙 | ✓ | ✓ | ✓ | |||||||
| 美拍 | ✓ | ✓ | ✓ | ✓ | ||||||
| 最右 | ✓ | ✓ | ✓ | ✓ | ||||||
| 番茄小说 | ✓ | ✓ | ✓ | ✓ | ||||||
| 红果短剧 | ✓ | ✓ | ✓ | ✓ | ||||||
| 红果漫剧 | ✓ | ✓ | ✓ | ✓ | ||||||
| 得物 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||||
| 网易LOFTER | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||||
| 星绘AI | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||||
| 央视 | ✓ | ✓ | ✓ | ✓ | ||||||
| 央视频 | ✓ | ✓ | ✓ | ✓ |
*注:腾讯元宝等极少数平台提取的是官方存储桶原画质直链,素材保留官方原生水印。
大多数平台无需登录态即可解析,如需按需增强以下特定功能,请先复制环境变量示例文件:
cp .env.example .env然后在本地 .env 中按需填写对应配置:
- 抖音放映厅长视频 (
DOUYIN_COOKIE):- 仅在解析放映厅/影视长片/演唱会大片等强风控内容时才需要配置。推荐精简 Cookie 配置
s_v_web_id=xxx; __ac_nonce=xxx,该字段不是个人账号登录信息,仅为字节安全 SDK 的人机风控通行证。日常 99% 的普通短视频、图文笔记、LivePhoto、原声音乐等完全免 Cookie 匿名解析。
- 仅在解析放映厅/影视长片/演唱会大片等强风控内容时才需要配置。推荐精简 Cookie 配置
- 豆包无水印视频 (
DOUBAO_COOKIE):- 用于解密获取 1080P 原始纯净无水印视频。由于该字段包含豆包的个人账号登录会话凭证,建议使用闲置小号。推荐精简 Cookie 配置
sessionid_ss=xxx。未配置时仍可解析公开图片与带水印预览切片。
- 用于解密获取 1080P 原始纯净无水印视频。由于该字段包含豆包的个人账号登录会话凭证,建议使用闲置小号。推荐精简 Cookie 配置
- 微信视频号 (
YUANBAO_COOKIE):- 通过腾讯元宝接口提取视频号原始流、高清图集及背景原声。由于该接口绑定了腾讯元宝的账号会话(属于个人账号登录凭证),建议使用闲置小号。推荐精简 Cookie 配置
hy_user=xxx; hy_token=xxx。未配置时仅可获取公开基础信息(标题/作者/封面)。
- 通过腾讯元宝接口提取视频号原始流、高清图集及背景原声。由于该接口绑定了腾讯元宝的账号会话(属于个人账号登录凭证),建议使用闲置小号。推荐精简 Cookie 配置
- 拼多多视频 (
PINDUODUO_COOKIE):- 用于多多视频原画解析。登录
mobile.yangkeduo.com(拼多多移动网页版)后获取,推荐精简 Cookie 配置PDDAccessToken=xxx。由于该字段属于个人账号登录凭证,建议使用闲置小号。未配置时仍可免 Cookie 解析商品图与评价素材。
- 用于多多视频原画解析。登录
通过 Docker Compose 快捷构建并启动服务;如需配置 Cookie,请先按上方说明配置 .env:
# 1. 获取源码
git clone https://github.com/ucmao/media-parser.git
cd media-parser
# 2. 构建并启动服务
docker compose up -d --build
# 3. 查看日志与运行状态
docker compose logs -f web服务默认监听 8051 端口,启动后直接访问 http://localhost:8051。
首次部署请访问 http://localhost:8051/auth/setup 创建管理员,该入口会在管理员创建后自动关闭。用户、API Key、系统配置和自动生成的安全密钥均保存在 ./data 目录,请务必持久化该目录。
适用于调试、二次开发或直接在宿主机运行。推荐 Python 3.10+;如需解析豆包或视频号视频,请先按上方说明配置 .env。
# 1. 安装依赖
pip install -r requirements.txt
# 2. 启动服务
python app.py- 接口:
GET /api/v1/parse - 参数:
url,视频或图文分享链接 - 鉴权:
Authorization: Bearer mp_xxx
curl --get 'http://localhost:8051/api/v1/parse' \
--header 'Authorization: Bearer mp_xxx' \
--data-urlencode 'url=https://v.douyin.com/xxx/'也支持通过 key 查询参数传递密钥,但生产环境不推荐,因为密钥可能被浏览器或代理日志记录:
http://localhost:8051/api/v1/parse?key=mp_xxx&url=https://v.douyin.com/xxx/
客户可在 /console 创建和停用 API Key;管理员可在 /admin 配置客户有效期、积分、QPS 与平台开关。
接口以 JSON 格式返回标题、正文、作者及解析出的媒体资源。部分平台可能没有独立标题、封面或主视频;为兼容已有调用方,对应字段会使用正文、首图或首视频兜底。原始正文和图集仍分别保留在 desc、image_list 中,多视频内容则通过 video_list 返回。
{
"retcode": 200,
"retdesc": "成功",
"data": {
"video_id": "7123...",
"platform": "抖音",
"title": "视频标题内容",
"desc": "视频文案内容",
"video_url": "https://... (主视频地址)",
"video_list": [
"https://... (仅多视频/合集内容额外返回,首项与 video_url 相同)"
],
"audio_url": "https://... (背景音乐/独立音频地址)",
"cover_url": "https://... (高清封面地址)",
"author": {
"nickname": "作者昵称",
"author_id": "作者ID",
"avatar": "https://..."
},
"image_list": [
"https://... (普通图集地址)",
{
"url": "https://... (实况图封面地址)",
"live_photo_url": "https://... (实况图视频原件地址)"
}
],
"subtitles": [
{ "start": 0.64, "end": 2.12, "text": "文案/字幕内容" }
]
},
"succ": true
}失败时会返回稳定的错误码:
{
"retcode": 400,
"retdesc": "该链接尚未支持提取 / 解析失败",
"data": null,
"error_code": "PLATFORM_NOT_SUPPORTED",
"succ": false
}默认响应还会附带可由管理员配置或关闭的 _tip 服务信息字段。
POST /api/parse仅供网站首页在线体验使用,不作为客户接入接口。
本项目拥有完备的双层测试体系(Mock 单元测试 + 50 平台真实在线样本库回归)。遇到解析异常或日常部署验证时,可一键运行健康自检:
# 50 平台极速冒烟测试(每个平台测 1 条最具代表性的链接,秒级完成健康检查)
python3 tests/manual_verify_parsers.py --limit 1
# 仅验证单个或指定平台(如:小云雀AI / 抖音)
python3 tests/manual_verify_parsers.py --platform "小云雀AI"本项目提供了详尽的技术架构与全平台逆向分析手册,详细内容请查阅 docs/ 目录:
- 🏗️ 系统架构与生命周期:分层设计、302 追踪与
ParserFactory动态发现机制。 - 🔍 通用逆向方法论:SSR 数据提取、H5 接口伪装、JS 签名沙箱及抓包 SOP。
- 🧪 测试体系与回归验证:Pytest 单元测试、Mock 与线上真实样例回归。
- 📚 平台逆向指南索引:包含抖音、快手、小红书、B站等全部 50 个平台的技术文档。
如果您在安装、使用过程中遇到问题,或有定制需求,请通过以下方式联系:
- 微信:csdnxr
- QQ:294323976
- 邮箱:leoucmao@gmail.com
- Bug反馈:GitHub Issues
- 本项目基于 MIT LICENSE 协议开源。
- 免责声明:本项目仅用于学习交流和技术研究。严禁用于任何非法目的。因滥用本项目造成的后果,由使用者自行承担。