Python脚本只从url列表中下载第一个视频。

问题描述 投票:0回答:1

我做了一个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教程1https:/youtu.be*$!@&_

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

注意,这里我把原来的url改了。

python regex youtube-dl
1个回答
1
投票
cmd = cmd + str(i)

你不断添加新的URLs到命令中,所以在第一次迭代中你调用了

youtube-dl -f 22 url1

而后

youtube-dl -f 22 url1 url2

以此类推。

你应该为基本命令使用不同的变量名,这样才能使 cmd 每次都会创建新的,而不是重复使用以前的URL。

例如:

base_cmd = 'youtube-dl -f 22 '
# ...
cmd = base_cmd + str(i)
© www.soinside.com 2019 - 2024. All rights reserved.