如何阻止我的youtube-dl脚本循环播放?

时间:2018-12-20 07:24:38

标签: powershell

该脚本有效,但下载完播放列表中的所有视频后,它将再次开始并再次下载所有视频。 我注意到,它将下载播放列表的次数与列表中包含视频的次数相同(例如,如果播放列表包含2个视频,则它将下载整个播放列表两次,如果3个视频等3次)。

$Playlisturl = "https://www.youtube.com/playlist?list=PL171CEFF08937AFD2"

$VideoUrls = (invoke-WebRequest -uri $Playlisturl).Links | ? {$_.HREF -like "/watch*"} | `
? innerText -notmatch ".[0-9]:[0-9]." | ? {$_.innerText.Length -gt 3} | Select innerText, `
@{Name="URL";Expression={'http://www.youtube.com' + $_.href}} | ? innerText -notlike "*Play all*"

.\youtube-dl.exe -o '%(title)s.%(ext)s' $VideoUrls.URL -x --audio-quality 0 --audio-format mp3 --geo-bypass --ffmpeg-location PATH

我只需要找出一种方法,可以在脚本下载完所有视频一次后停止该脚本。另外我也没有为$ VideoUrls变量编写代码。

1 个答案:

答案 0 :(得分:0)

我认为这样做是因为您为它提供了带有播放列表网址的单个播放列表视频,因此您只需将播放列表网址提供给它,它将捕获所有播放列表视频。

youtube-dl -o '%(playlist)s/%(playlist_index)s - %(title)s.%(ext)s' https://www.youtube.com/playlist?list=%id%

https://github.com/rg3/youtube-dl/blob/master/README.md#output-template-and-windows-batch-files