如何通过YouTube API获取频道指定日期前后发布的视频?
获取YouTube频道指定日期前后的指定数量视频数据
1. 前置条件
- 拥有Google Cloud平台的API密钥,并已启用YouTube Data API v3
- 知晓目标频道的
channelId(若只有用户名,可通过channels.list端点获取:设置forUsername参数为频道用户名,part设为id)
2. 核心API调用方案
要筛选指定日期前后的视频并批量获取,推荐两个端点,按需选择:
方案一:使用search.list(灵活筛选,配额消耗较高)
该端点直接支持按发布日期筛选,适合精确匹配场景:
- 必传参数:
part:snippet(返回视频标题、发布时间、ID等核心信息)channelId: 目标频道IDtype:video(仅返回视频内容)order:date(按发布时间排序,确保优先获取最新/最早的视频)publishedAfter或publishedBefore: 符合ISO 8601格式的时间字符串,例如2023-09-04T00:00:00Z(对应2023年9月4日零时UTC)maxResults: 单次请求最多返回50条(API上限)
- 分页逻辑:因单次最多返回50条,要获取200条需循环请求,每次携带上一次返回的
nextPageToken,直到获取满目标数量或无更多数据。
方案二:使用playlistItems.list(配额友好,适合公开上传列表)
如果频道的上传列表是公开的,可先获取频道的上传播放列表ID,再通过该端点筛选:
- 调用
channels.list,设置part为contentDetails,获取contentDetails.relatedPlaylists.uploads(上传列表ID) - 调用
playlistItems.list,参数:part:snippetplaylistId: 上传列表IDpublishedAfter/publishedBefore: 同上述ISO格式时间maxResults: 50- 同样通过
nextPageToken分页获取足够数量的视频
3. 示例代码(Python)
以下是使用search.list获取2023年9月4日之后200个视频的示例:
import requests API_KEY = "你的API密钥" CHANNEL_ID = "目标频道ID" TARGET_DATE = "2023-09-04T00:00:00Z" TARGET_COUNT = 200 videos = [] page_token = None while len(videos) < TARGET_COUNT: url = "https://www.googleapis.com/youtube/v3/search" params = { "part": "snippet", "channelId": CHANNEL_ID, "type": "video", "order": "date", "publishedAfter": TARGET_DATE, "maxResults": min(50, TARGET_COUNT - len(videos)), "key": API_KEY, "pageToken": page_token } response = requests.get(url, params=params) data = response.json() if "items" not in data: break # 无更多数据 videos.extend(data["items"]) page_token = data.get("nextPageToken") if not page_token: break # 没有下一页 # 处理获取到的视频数据 for video in videos: video_id = video["id"]["videoId"] title = video["snippet"]["title"] publish_time = video["snippet"]["publishedAt"] print(f"视频ID: {video_id}, 标题: {title}, 发布时间: {publish_time}")
4. 注意事项
- 配额限制:
search.list单次请求消耗100配额单位,playlistItems.list仅消耗1单位,频繁调用优先选后者 - 日期格式:必须严格遵循ISO 8601,例如
YYYY-MM-DDTHH:MM:SSZ,Z代表UTC时间 - 数据完整性:若频道符合条件的视频总数不足目标数量,会返回所有可用视频
内容的提问来源于stack exchange,提问作者BidoTeima
相关产品推荐
相关产品推荐

