@Mousa

Как правильно сохранить видео файл?

Добрый день! Хотел попробовать сделать парсер ,в целом все работает как надо ,однако при скачивании несколько видеофайлов (например видео 1 видео 2 видео3 ) они не сохраняются отдельными файлами ,а просто перезаписывают созданный (например создается файл видео 1 ,затем ,я так понимаю,он удаляется и перезаписывается ) .Хотелось чтобы они по отдельности сохранялись .
делаю вот так :
downloadSoup = BeautifulSoup(response.text, "html.parser")
    downloadLink = downloadSoup.a["href"]

    vid=0
    vid +=1
    mp4File= urlopen(downloadLink)
    
    with open(f'videos/{vid}.mp4', "wb") as output :
        while True:
            data = mp4File.read(1000)
            if data:
                output.write(data)
            else:
                break
  • Вопрос задан
  • 144 просмотра
Решения вопроса 1
@ceytnot
Ищу работу (:
У вас значение vid не меняется. Каждый раз вы присваиваете ему 0, а потом сразу же +1. В конструкции with open у вас получается vid всегда равен 1. Поэтому файл и перезаписывается.

Как вариант добавить проверку, что такой файл уже есть, и если есть, прибавить 1.
И так пока такого файла найдено не будет.
import os.path
vid = 0
while os.path.exists(f'videos/{vid}.mp4') == True:
    vid += 1
# и далее уже with open
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы