引言
在内容运营、数据分析与自动化处理场景中,经常需要批量获取短视频平台的视频元数据(如标题、时长、封面、作者、发布时间等)。手动复制粘贴效率低下且易出错,而通过统一的API接口可以一键获取结构化数据,极大提升开发效率。
极数本源(ApiZero.cn)是一个聚合API工具集市,提供数百个高质量API接口,覆盖天气、IP、翻译、AI等。其视频元数据解析服务支持抖音、快手、B站、小红书等主流平台,只需传入视频链接即可返回完整的元数据JSON。本文将带你从零开始调用该接口,并解析关键返回字段。
接口概述
极数本源视频元数据解析API遵循标准的RESTful设计,所有请求通过HTTPS传输,返回UTF-8编码的JSON。
接口端点
POST https://api.apizero.cn/v1/video/parse
认证方式
使用API Key进行身份验证,每个请求需在HTTP头中添加X-API-Key字段。注册后可在控制台生成密钥。
示例请求头:
X-API-Key: your_api_key_here
Content-Type: application/json
请求方法
支持POST与GET两种方法。本文以POST为主,参数在请求体中发送JSON,更安全。
请求参数详解
| 参数名 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
| url | string | 是 | 无 | 待解析的视频分享链接(需URL编码) |
| platform | string | 否 | auto | 指定平台,可选值:douyin、kuaishou、bilibili、xiaohongshu 等。留空则自动识别 |
| extended | boolean | 否 | false | 是否返回扩展信息(如音乐信息、标签列表) |
| timeout | integer | 否 | 15 | 等待解析的最大秒数,建议设为10-30 |
注意:url需要是视频的分享短链接(如 https://v.douyin.com/xxxxx/)或完整网页地址。
响应格式解析
接口返回的JSON结构如下:
json
{
"code": 200,
"msg": "success",
"data": {
"title": "学会这一招,所有圆都能画好",
"duration": 45.2,
"cover": "https://example.com/cover.jpg",
"width": 720,
"height": 1280,
"author": "手工达人",
"author_id": "123456789",
"platform": "douyin",
"publish_time": "2024-03-15 10:30:00",
"like_count": 1520,
"comment_count": 89,
"share_count": 203,
"video_id": "vid_abcdef12345",
"extended": {
"music_title": "轻快背景音",
"music_author": "音乐人张三",
"tags": ["手工", "绘画", "技巧"],
"description": "每天分享一个手绘小技巧"
}
}
}
关键字段说明
code:状态码,200成功,其他错误见错误码表。msg:状态消息。data:元数据对象。title:视频标题。duration:时长(秒)。cover:封面图URL。width/height:视频分辨率。author:作者昵称。platform:来源平台。publish_time:发布时间。like/comment/share_count:互动数据(注意:部分平台可能受限制)。extended:扩展信息(需请求时指定extended=true)。
调用示例:curl与Python
使用curl
bash
curl -X POST "https://api.apizero.cn/v1/video/parse" \
-H "X-API-Key: your_api_key_here" \
-H "Content-Type: application/json" \
-d '{
"url": "https://v.douyin.com/i6abcdefc/",
"extended": true
}'
响应示例(截取):
json
{
"code": 200,
"data": {
"title": "抖音短视频示例",
"duration": 15.7,
"cover": "...",
...
}
}
使用Python requests
首先安装依赖:
bash
pip install requests
脚本示例:
python
import requests
import json
API_URL = "https://api.apizero.cn/v1/video/parse"
API_KEY = "your_api_key_here"
headers = {
"X-API-Key": API_KEY,
"Content-Type": "application/json"
}
def parse_video(url, extended=False, platform="auto"):
payload = {
"url": url,
"extended": extended,
"platform": platform
}
try:
resp = requests.post(API_URL, headers=headers, json=payload, timeout=20)
resp.raise_for_status()
result = resp.json()
if result["code"] == 200:
return result["data"]
else:
raise Exception(f"API error: {result['msg']}")
except requests.exceptions.RequestException as e:
print(f"请求失败: {e}")
return None
if __name__ == "__main__":
video_url = "https://v.douyin.com/i6abcdefc/"
data = parse_video(video_url, extended=True)
if data:
print(f"标题: {data['title']}")
print(f"时长: {data['duration']}秒")
print(f"作者: {data['author']}")
print(f"平台: {data['platform']}")
if "extended" in data:
print(f"标签: {','.join(data['extended'].get('tags', []))}")
运行上述代码,即可打印出视频的标题、时长、作者等信息。
错误码与处理
| 错误码 | 含义 | 处理建议 |
|---|---|---|
| 400 | 请求参数错误(缺少url等) | 检查参数完整性 |
| 401 | 认证失败(API Key无效) | 检查密钥是否正确 |
| 403 | 无权限或账户欠费 | 登录控制台查看账户状态 |
| 404 | 视频链接无法解析 | 确认链接有效且未过期 |
| 429 | 请求频率过高(速率限制) | 降低调用频率,参考限流策略 |
| 500 | 服务器内部错误 | 稍后重试,若持续则联系技术支持 |
建议在代码中捕获HTTP状态码并处理重试逻辑:
python
if resp.status_code == 429:
time.sleep(1) # 等待后重试
性能与限制
极数本源API对免费账户有速率限制:每分钟最多60次请求,每日1000次。付费套餐可提升至更高配额。针对视频解析,单个请求平均耗时约2-5秒(受网络影响),建议开启timeout参数。
优化建议:
- 使用异步请求(如
asyncio + aiohttp)批量解析多个视频。 - 缓存已解析的视频元数据,避免重复请求。
- 设置合理的重试机制与指数退避。
批量解析示例(使用异步)
python
import asyncio
import aiohttp
async def parse_one(session, url):
payload = {"url": url}
async with session.post(API_URL, headers=headers, json=payload) as resp:
return await resp.json()
async def batch_parse(urls):
async with aiohttp.ClientSession() as session:
tasks = [parse_one(session, url) for url in urls]
results = await asyncio.gather(*tasks)
return results
urls = [
"https://v.douyin.com/xxx1/",
"https://v.kuaishou.com/yyy2/",
]
data = asyncio.run(batch_parse(urls))
for d in data:
if d["code"] == 200:
print(d["data"]["title"])
实际应用场景
- 内容监测与舆情分析:定时抓取特定账号的视频元数据,监控数据变化。
- 自动化标签生成:根据视频标题、描述和标签自动分类入库。
- 数据清洗与搬运:将视频信息同步到自有数据库或CMS。
- 短视频排行榜:聚合多个平台的热门视频,计算综合热度。
总结
极数本源视频元数据解析API提供了一种简洁可靠的方式,通过单次HTTP请求即可获取跨平台的视频详情。本文从接口设计、请求参数、响应解读到实际代码实现,完整展示了集成过程。无论你是做爬虫、数据分析还是内容运营,该API都能显著降低开发成本。
建议开发者在调用前详细阅读官方文档(https://apizero.cn/marketplace/video-parse),了解最新变化和高级用法。即时开通免费API Key,只需5分钟即可开始体验。
希望本文能帮助你快速上手,用API技术解放双手。