我编写了一个 python 脚本来下载 YouTube URL 列表,并且我想按我要下载的主题更改输出文件夹。
例如,当我下载播放列表时,我希望将此播放列表中的视频下载到当前播放列表命名的文件夹中。但如果它是一个频道,则其中的视频应放入名为 bt it's uploader 的文件夹中。
我如何知道我正在下载的 URL 是播放列表还是频道?由于选项是在下载开始之前传递的,因此我找不到方法来执行此操作。
这是我的代码:
import sys
import yt_dlp
URLS = [
'playlist_url',
'channel_url',
]
dl_ops = {
'outtmpl': 'd:/YouTube/%(uploader)s/%(title)s.%(ext)s'
}
retry_count = 0
def download_video(urls):
try:
with yt_dlp.YoutubeDL(dl_ops) as ydl:
ydl.download(urls)
except KeyboardInterrupt:
print('Interruptted by user')
sys.exit()
except Exception as e:
print(e)
global retry_count
if retry_count == 50:
print('Retry count exceeded')
sys.exit()
retry_count += 1
download_video(urls)
if __name__ == '__main__':
download_video(URLS)
Run Code Online (Sandbox Code Playgroud)
小智 3
dl_ops = {
'outtmpl': 'd:/YouTube/%(uploader)s/%(title)s.%(ext)s'
}
Run Code Online (Sandbox Code Playgroud)
您可以看到,在这一行中您指定的路径为 D:/YouTube/ {uploader name} / {title of the video} 。{您指定的扩展名}。为了将所有视频更改为进入同一文件夹,您只需删除上传者后面的“/”,这样您的视频就不会为每个上传者提供单独的文件夹。
因此,如果您想让文件名与视频名一样,您将执行以下操作:
'outtmpl': 'D:/YouTube/%(title)s.%(ext)s'
Run Code Online (Sandbox Code Playgroud)
因此,对于名为“Youtube vlog part 321”的视频,文件路径将为:
D:/YouTube/Youtube vlog part 321.mp4
Run Code Online (Sandbox Code Playgroud)
或您选择的任何其他格式(mp3、wav、avi、mkv...)。
| 归档时间: |
|
| 查看次数: |
4753 次 |
| 最近记录: |