美好的一天。
我正在尝试从Vimeo帐户中获取所有视频文件(直接下载链接(的列表。
有没有办法在1 get请求中进行操作?好的,如果是api的限制,时间为100。
我有硬编码脚本,我在其中提出12个获取请求(根据文档,请求限制了100个结果(,然后提出超过1000个请求以接收直接链接。
是否有一种方法可以接收一个链接列表,用于从vimeo下载带有一个API请求的vimeo?
ps帐户是pro
import vimeo
import json
import config #token is here
client = vimeo.VimeoClient(
token = config.token
)
per_page = 100
answerDataAll = []
for i in range(12):
page=i+1
getString = 'https://api.vimeo.com/me/videos?per_page='+str(per_page) + '&page=' + str(page)
dataFromServer = client.get(getString).json()['data']
answerDataAll.extend(dataFromServer)
# creating list of videos
listOfItems = []
for item in answerDataAll:
listOfItems.append( item ['uri'])
# creating list of direct links, it is the goal
listOfUrls = []
for item in listOfItems:
# isolating digits
videoID = ""
for sign in item:
if sign.isdigit():
videoID = videoID + sign
requestForDownloading = client.get ('http://player.vimeo.com/video/' + videoID + '/config').json()['request']['files']['progressive']
for itm in requestForDownloading:
if itm['width']==640:
urlForDownloading = itm['url']
listOfUrls.append(urlForDownloading)
您每个请求最多可以获得100个视频,但请理解,这样的请求/我/视频将返回每个视频的完整元数据,这是很多数据可以解析的数据通过。当Vimeo的服务器试图渲染您的请求时,API或您的客户端也可能超时。
您应该使用字段参数,以便仅返回您需要的下载元数据。您还应该指定排序和方向,因此您知道要返回视频。
https://api.vimeo.com/me/videos?fields=uri,name,download&page=1&per_page=100&sort=date&direction=desc
在此处找到这些参数的文档:
https://developer.vimeo.com/api/common-formats#json-filter
https://developer.vimeo.com/api/common-formats#using-the-pagination-parameter
https://developer.vimeo.com/api/common-formats#using-the-sort-parameters