youtube-api - YouTube API - 检索超过 5000 个项目

标签 youtube-api youtube-data-api

我只想获取所有我喜欢的视频 ~25k 项。据我的研究表明,通过 YouTube v3 API 不可能实现这一点。

我已经在同一个问题上发现了多个问题( issueissue ),尽管有些人声称已经修复了它,但它只适用于他们,因为他们喜欢的视频中没有 < 5000 个项目列表。

playlistItems list API endpoint将播放列表 ID 设置为“喜欢的视频”(LL) 的限制为 5000

videos list API endpoint 限制为 1000

不幸的是,这些端点没有向我提供可用于对请求进行分页的参数(例如,为我提供日期 x 和 y 之间所有喜欢的视频),因此我被迫接受提供的订单(我无法获取超过 5000 条条目)。

我是否可以通过 API 获取我所有的点赞?

最佳答案

对@Yarin_007的回复有更多想法

  • 时间线中是否有已删除的视频 they appear as "Liked https://...url" ,该脚本不喜欢这种格式,并且由于底层元素与现有视频的结构不同而失败 可以通过 try catch 轻松修复
function collector(all_cards) { 
    var liked_videos = {};
    all_cards.forEach(card => {
        try {
            // ignore Dislikes
            if (card.innerText.split("\n")[1].startsWith("Liked")) {
                ....
            }
        }
        catch {
            console.log("error, prolly deleted video")
        }
    })

    return liked_videos;
}
  • 要向下滚动到页面底部,我使用了这个简单的脚本,无需启动大的东西
var millisecondsToWait = 1000;
setInterval(function() {
    window.scrollTo(0, document.body.scrollHeight);
    console.log("scrolling")
}, millisecondsToWait);
  • 当更多人想要检索此类数据时,可以考虑构建一个更方便使用的合适脚本。 If you check the network requests您可以在称为batchexecute的请求响应中找到所需的数据。人们可以复制其中一个的身份验证,将它们提供给一个脚本,该脚本查询这些端点并准备数据,就像我当前手动注入(inject)的另一个脚本一样。

关于youtube-api - YouTube API - 检索超过 5000 个项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74935428/

相关文章:

youtube-api - YouTube 直播 API 的可访问性

android - 使用ytd-android库将视频从android设备上传到youtube后,如何返回url?

youtube - 您如何嵌入带有 channel ID的最新YouTube?

youtube - 如何检查允许在哪个国家/地区播放 YouTube 视频?

ios - 适用于iOS的Google登录-YouTube channel ID

youtube - 是否可以从API中提取由于移除通知过多等原因而被YouTube禁止的YouTube用户和 channel 列表?

youtube-api - 具有特定 ID 的 GET/videos 的 HTTP 500(后端错误)

youtube - 如何使用 YouTube JavaScript API 播放播放列表

java - 是否可以在 Android 中使用 YouTube API 来显示 360° 视频?

安卓 YouTube API "An error occurred while initializing YouTube player"