无法下载Dailymotion上所有视频的列表

2024-09-29 01:25:13 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用Dailymotion API获取我频道上所有视频的列表。虽然我的频道有3000多个视频,但我只能扫描和下载1000个视频。请帮忙。你知道吗

频道链接:https://www.dailymotion.com/prashant_advait

代码如下:

import dailymotion

d = dailymotion.Dailymotion()

d.set_grant_type(
            "password",
            api_key=_API_KEY_HINDI,
            api_secret=_API_SECRET_HINDI,
            scope=["manage_videos"],
            info={"username": _USERNAME_HINDI, "password": _PASSWORD_HINDI},
        )


page = 1

while(True):
    api_call = '/me/videos?fields=id,title,url,tags&limit=100&page=' + str(page)
    r = d.get(api_call)

    print(r)

    if r['has_more'] is False:
        break

    page = r['page']+1

在第10页,GET请求的“has\u more”字段设置为False,并且没有更多的视频。

下面的调用没有结果:

api_call = '/me/videos?fields=id,title,url&limit=100&page=' + str(11)
r = d.get(api_call)

结果:

{page':第11页, “限制”:100, “显式”:False, “总计”:0, 'has \u more':错误, '列表':[]}


Tags: apifalse列表视频morepagepasswordcall
1条回答
网友
1楼 · 发布于 2024-09-29 01:25:13

您可以使用created_aftersort=old这样的参数来减少API返回的视频集。到达最后一页的最后一个视频后,使用created_time字段值从此日期开始执行新的API调用。你知道吗

示例:

  1. https://api.dailymotion.com/me/videos?fields=id,title,url,created_time&limit=100&page=10&sort=old
  2. https://api.dailymotion.com/me/videos?fields=id,title,url,created_time&limit=100&page=1&sort=old&created_after=123456789

如果这还不足以浏览您的所有目录,请联系您的Dailymotion联系人以找到解决方案。你知道吗

相关问题 更多 >