客户端错误 Youtube API python

Client Error Youtube API python

我有一个 python 程序可以查询 youtube 以获取视频详细信息。我使用版本 3 api。我有多个进程 m 和一个 python 每个 python 进程中有 10 个进程的池。

songs_pool = Pool()
songs_pool =Pool(processes=10)
return_pool = songs_pool.map(getVideo,songs_list)

当 m 的值增加到 2 以上并且池增加到 >5 时,我会收到一些客户端错误。我得到禁止的错误。当我检查 google 分析中的请求数时,它显示请求数为每秒 250 次。但根据文档,限制是每秒 3000 个请求。我不明白为什么我会收到客户端错误。你能告诉我是否有办法不出现这个错误并且 运行 程序更快。

如果 m = 2 和 process = 10 ,我没有收到任何错误,但需要很长时间才能完成。 但是如果我增加它们,那么我会收到大约占总请求数 5% 的客户端错误。

每个用户的限制是每秒来自单个 IP 地址的 3000 个请求,一旦您在给定的秒内超过该限制,您就会开始收到禁止的错误。您在开发人员控制台中看到的分析只会报告您在 5 分钟内的平均请求数;因此,如果您有 4 分钟的零请求,然后开始 运行ning 您的例行程序,控制台可能每秒仅显示 250 个请求(平均),但您的应用可能已超过 运行ning 限制在给定的一两个时间段内。

如果您关心速度,那么您似乎正在以最佳方式处理它;你会想要 运行 它足够快以得到非常少量的错误(所以你知道你在你的极限停留在那里)。不过,另一种选择可能是考虑使用 etags;如果您发现自己经常请求有关同一视频的信息,您可以让 etags 告诉您是否有任何信息已更改(如果 API 响应没有任何更改,则它不会计入您的配额或者你的 reqests/sec.)