基于上传时间用Python和Vimeo API获取Vimeo视频URL列表
基于上传时间筛选Vimeo视频并获取URL列表
可行性说明
完全可以通过Vimeo API基于近似上传时间筛选视频,并提取对应的视频URL列表,核心是利用API的视频列表端点搭配时间筛选参数实现。
文档对应板块
你需要查看Vimeo官方API文档中的**「List videos」端点**(归类在「Videos」核心资源下),重点关注以下参数说明:
filter:设置为upload_date,指定按上传时间维度筛选filter_time:可选预设时间范围,比如day(最近24小时)、week(最近7天)、month(最近30天)start_time/end_time:自定义时间区间(格式为ISO 8601,如2024-05-01T00:00:00Z),用于精准匹配近似上传时间
示例Python脚本
前置准备
- 安装Vimeo官方SDK:
pip install vimeo - 在Vimeo开发者平台创建应用,获取带有
video.read权限的访问令牌(ACCESS_TOKEN)、客户端ID(CLIENT_ID)和客户端密钥(CLIENT_SECRET)
import vimeo from datetime import datetime, timedelta # 替换为你的真实凭证 CLIENT_ID = "你的客户端ID" CLIENT_SECRET = "你的客户端密钥" ACCESS_TOKEN = "你的访问令牌(需video.read权限)" # 初始化客户端 client = vimeo.VimeoClient( token=ACCESS_TOKEN, key=CLIENT_ID, secret=CLIENT_SECRET ) def fetch_video_urls_by_upload_period(start_dt, end_dt): # 转换时间为API要求的ISO 8601格式 start_iso = start_dt.strftime("%Y-%m-%dT%H:%M:%SZ") end_iso = end_dt.strftime("%Y-%m-%dT%H:%M:%SZ") video_urls = [] current_page = 1 items_per_page = 20 # 最大可设为100 while True: # 发起API请求 resp = client.get( '/me/videos', params={ 'filter': 'upload_date', 'start_time': start_iso, 'end_time': end_iso, 'per_page': items_per_page, 'page': current_page } ) if resp.status_code != 200: print(f"请求出错,状态码: {resp.status_code}") break resp_data = resp.json() videos = resp_data.get('data', []) if not videos: break # 无更多视频,终止循环 # 提取视频URL for vid in videos: vid_link = vid.get('link') if vid_link: video_urls.append(vid_link) print(f"已找到视频: {vid_link}") current_page += 1 return video_urls if __name__ == "__main__": # 示例:获取最近7天内上传的视频 end_date = datetime.utcnow() start_date = end_date - timedelta(days=7) print(f"正在检索 {start_date} 至 {end_date} 上传的视频URL...") result_urls = fetch_video_urls_by_upload_period(start_date, end_date) print("\n视频URL列表:") for num, url in enumerate(result_urls, 1): print(f"{num}. {url}")
脚本说明
/me/videos:获取当前授权用户的视频,若需获取指定频道/用户的视频,可替换为/channels/{频道ID}/videos或/users/{用户ID}/videos- 分页处理:API默认分页返回结果,脚本通过循环获取所有页面的视频
- 权限验证:确保访问令牌拥有
video.read权限,否则会返回403权限错误
内容的提问来源于stack exchange,提问作者Ismale L
相关产品推荐
相关产品推荐

