Python 脚本仅下载 url 列表中的第一个视频

Python script only downloads the first video from the url list

我制作了一个 python 脚本来使用 youtube-dl 下载一些视频。当我 运行 脚本时,它会下载第一个视频,然后继续打印已为所有其他视频下载的视频。

这是脚本:

import re , os
formula = re.compile(r'https.+')

os.chdir('/home/ubuntu/Desktop/TO MASTER THIS VACATION')
urls = []
with open('Python necessary videos.txt' , 'r') as f:
    for line in f:
        mo = formula.findall(line)
        if mo:
            urls.append(mo[0])
cmd = 'youtube-dl -f 22 '
for i in urls:
    print("Video url : "+str(i))
    cmd = cmd + str(i)
    os.system(cmd)

我做错了什么??

P.S.

因为被要求分享"Python necessary videos.txt"的一些台词。在这里,我分享其中的几行...

Python教程1 https://youtu.be/*$!@&_

Python教程2 https://youtu.be/@#@$>?

请注意,我在这里更改了原始网址。

cmd = cmd + str(i)

您不断向命令附加新的 URL,因此在第一次迭代中您调用了

youtube-dl -f 22 url1

并在下一次迭代中

youtube-dl -f 22 url1 url2

等等。

您应该为基本命令使用不同的变量名称,以便每次都创建新的 cmd,而不是重复使用以前的 URL。

例如:

base_cmd = 'youtube-dl -f 22 '
# ...
cmd = base_cmd + str(i)