Python скрипт загружает только первое видео из списка URL - PullRequest
0 голосов
/ 29 мая 2020

Я сделал 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)

Что я делаю не так ??

PS

Так же было предложено поделиться некоторыми строчками из «Python необходимых videos.txt». Здесь я делюсь некоторыми из этих строк ...

Python Tutorial1 https://youtu.be/* $! @ & _

Python Tutorial2 https://youtu.be/@# @ $>?

Обратите внимание, что здесь я изменил исходные URL-адреса.

1 Ответ

1 голос
/ 29 мая 2020
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)
...