mcpField
O
oxylabs-video-data

oxylabs-video-data

github.com/oxylabs数据与数据库87763 次安装2 周前更新
代码仓库

关于 oxylabs-video-data

这是一份使用 Oxylabs 服务提取 YouTube 数据及下载视频、音频的技能指南,介绍通过 Video Data API 获取结构化数据,以及使用高带宽代理和 yt-dlp 下载媒体。

主要功能

  1. 01YouTube 搜索与自动补全
  2. 02视频元数据和频道数据
  3. 03字幕与训练许可状态查询
  4. 04将视频或音频下载到云存储
  5. 05通过代理使用 yt-dlp 下载

适用场景

  1. 01收集 YouTube 搜索结果和元数据
  2. 02获取频道信息与字幕
  3. 03下载视频或音频文件

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/oxylabs/agent-skills --skill oxylabs-video-data

安装后在 Claude Code 中输入/oxylabs-video-data确认已加载。

附带文件examples.md

详细介绍

Oxylabs 视频数据

通过 API 和高带宽代理提取 YouTube 数据,下载视频/音频。

两种方式

方法适用场景
视频数据 API元数据、字幕、搜索结果(结构化数据)
高带宽代理使用 yt-dlp 下载视频/音频

视频数据 API

使用与 Web Scraper API 相同的端点,并采用 YouTube 专用数据源。

端点
POST https://realtime.oxylabs.io/v1/queries   # immediate metadata/search/subtitle responses
POST https://data.oxylabs.io/v1/queries       # Push-Pull downloads, callbacks, storage
Content-Type: application/json
身份验证
curl -u "$OXY_WSA_USERNAME:$OXY_WSA_PASSWORD" ...
可用数据源
数据源描述
youtube_search最多 20 条搜索结果(视频、频道、播放列表)
youtube_search_max最多 700 条搜索结果
youtube_metadata视频元数据(标题、观看次数、点赞数、描述)
youtube_subtitles隐藏式字幕/字幕
youtube_channel频道数据和视频列表
youtube_autocomplete关键词建议
youtube_video_trainabilityAI 训练许可状态
youtube_download将视频/音频推送到云存储并下载
数据源参数
数据源必填常见可选参数
youtube_search、youtube_search_maxqueryupload_date、type、duration、sort_by、360、3d、4k、creative_commons、hd、hdr、live、location、purchased、subtitles、vr180
youtube_metadataquery、parse: truecallback_url;不要使用 render
youtube_channelchannel_handle、parse: truelimit、callback_url
youtube_subtitlesquery、context.language_codecontext.subtitle_origin:auto_generated 或 uploader_provided;callback_url
youtube_autocompletequerylocation 国家代码、language、callback_url
youtube_video_trainabilityvideo_idcallback_url
youtube_downloadquery、storage_type、storage_urlcallback_url、context.download_type、context.video_quality、context.start_at、context.end_at

对于 youtube_download,请使用 Push-Pull 和云存储。storage_type 可以是 gcs、s3 或 s3_compatible;download_type 可以是 audio、video 或 audio_video;video_quality 可以是 best、worst 或 144、360、480、720、1080、1440、2160、4320。

如果有可用画质,下载默认采用 720p,时长限制为 1 小时。start_at/end_at 使用 hh:mm:ss 格式;end_at 必须晚于 start_at。批量下载时,请使用 /v1/queries/batch,且只提供 query 数组;其他所有参数都应为单个值。

快速开始

视频元数据:

curl -X POST 'https://realtime.oxylabs.io/v1/queries' \
  -u "$OXY_WSA_USERNAME:$OXY_WSA_PASSWORD" \
  -H 'Content-Type: application/json' \
  -d '{
    "source": "youtube_metadata",
    "query": "dQw4w9WgXcQ",
    "parse": true
  }'

YouTube 搜索:

curl -X POST 'https://realtime.oxylabs.io/v1/queries' \
  -u "$OXY_WSA_USERNAME:$OXY_WSA_PASSWORD" \
  -H 'Content-Type: application/json' \
  -d '{
    "source": "youtube_search",
    "query": "python tutorial"
  }'

频道数据:

curl -X POST 'https://realtime.oxylabs.io/v1/queries' \
  -u "$OXY_WSA_USERNAME:$OXY_WSA_PASSWORD" \
  -H 'Content-Type: application/json' \
  -d '{
    "source": "youtube_channel",
    "channel_handle": "@channelhandle",
    "parse": true,
    "limit": 10
  }'

高带宽代理(视频下载)

使用 yt-dlp 下载实际的视频/音频文件。

设置

联系 Oxylabs 销售团队,获取专用高带宽端点。

默认配置:

  • 端口:60000
  • 端点:购买后提供

使用 OXY_HB_ENDPOINT;如果未设置,请检查 OXYLABS_HB_ENDPOINT。

连接测试
curl -x "http://USERNAME-test:PASSWORD@YOUR_ENDPOINT:60000" \
  "https://ip.oxylabs.io/location"
yt-dlp 集成

使用会话轮换(每次下载使用不同 IP):

yt-dlp --proxy "http://USERNAME-Random1Session2ID:PASSWORD@YOUR_ENDPOINT:60000" \
  "https://www.youtube.com/watch?v=VIDEO_ID"

每次下载都要更改会话 ID,以获取新的 IP。

使用 yt-dlp 的 Python
import yt_dlp
import os
import uuid

username = os.environ["OXY_WSA_USERNAME"]
password = os.environ["OXY_WSA_PASSWORD"]
endpoint = os.environ["OXY_HB_ENDPOINT"]  # Your dedicated endpoint

# Random session for unique IP
session_id = str(uuid.uuid4()).replace("-", "")

ydl_opts = {
    "proxy": f"http://{username}-{session_id}:{password}@{endpoint}:60000",
    "format": "best",
    "outtmpl": "%(title)s.%(ext)s"
}

with yt_dlp.YoutubeDL(ydl_opts) as ydl:
    ydl.download(["https://www.youtube.com/watch?v=VIDEO_ID"])

选择合适的方法

需求方法
视频元数据(标题、观看次数、点赞数)视频数据 API
搜索结果视频数据 API
字幕视频数据 API
频道信息视频数据 API
下载视频文件高带宽代理 + yt-dlp
下载音频文件高带宽代理 + yt-dlp

更多示例请参阅 examples.md。

评论

支持 Markdown