Как остановить мой скрипт youtube-dl от зацикливания? - PullRequest
0 голосов
/ 20 декабря 2018

Сценарий работает, но когда он заканчивает загрузку всех видео в плейлисте, он запускается снова и загружает их все во второй раз.Я заметил, что он будет загружать плейлист столько раз, сколько видео в списке (например, если плейлист содержит 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 голосов
/ 20 декабря 2018

Я думаю, что это так, потому что вы даете ему отдельные плейлисты с URL-адресом плейлиста, вы просто кормите его по URL плейлиста, и он захватывает все видео плейлиста.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...