如何正确,安全地查询播放列表

时间:2019-03-01 08:10:37

标签: python youtube-dl

我想从YouTube播放列表中提取信息,但是即使我使用ignoreerrors标志,一次查询整个播放列表似乎也不太可靠,因为有时它会卡住,尤其是在互联网连接为有点动摇。 我是否应该通过设置playliststartplaylistend值并循环处理来逐个下载播放列表?

我当前的代码如下:

simulate_ydl_opts = {
    'format': "251",
    'playlistend': 50,
    'ignoreerrors': True,
    'simulate':True
}
youtube_dl_object = youtube_dl.YoutubeDL(simulate_ydl_opts)
test_info=youtube_dl_object.extract_info("https://www.youtube.com/user/Rasenfunk")

2 个答案:

答案 0 :(得分:5)

恕我直言,我认为您可以使用ratelimit: 50000作为配置,以防它取决于您的下载速度,并结合playliststartplaylistendretries和{ {1}}。

根据他们的github common modulecontinuedl

  

下载速度限制,以字节/秒为单位。

如果您已经知道需要限制此下载的速度,然后尝试相同的下载。如果带宽无法处理,基本上可以帮助您节流。

如果您不确定最大限制,我建议使用类似speedtest-cli的名称,其中您可以识别下载速度并应用该速度来限制速度,我只是点击了此示例代码来尝试一下退出:

ratelimit

答案 1 :(得分:1)

是的,您可能应该一次尝试一次。我建议您还让程序跟踪上次获得的URL,以便从上次中断的位置继续执行。一个基于线程的超时和重新启动系统(对于每个视频,创建一个新线程并包含一个超时)将有助于该过程更加无缝地进行。