Скачать видео с YouTube с помощью Python в определённую директорию
У меня есть код, который работает для загрузки видео с YouTube, но я хочу сохранить видео в определенном месте. В настоящее время видео сохраняется в C:/Users/Download
. Как мне изменить код, чтобы сохранить видео на рабочем столе?
Вот мой код:
from __future__ import unicode_literals
import youtube_dl
import urllib
import shutil
ydl_opts = {}
with youtube_dl.YoutubeDL(ydl_opts) as ydl:
ydl.download(['https://www.youtube.com/watch?v=n06H7OcPd-g'])
Как мне настроить ydl_opts
, чтобы указать папку для сохранения видео? Спасибо за помощь!
4 ответ(ов)
Чтобы скачать видео с YouTube с помощью Python 3.x, вы можете использовать библиотеку pytube
. Вот минимальный пример, который показывает, как это сделать:
from pytube import YouTube
import os
def downloadYouTube(videourl, path):
yt = YouTube(videourl)
yt = yt.streams.filter(progressive=True, file_extension='mp4').order_by('resolution').desc().first()
if not os.path.exists(path):
os.makedirs(path)
yt.download(path)
downloadYouTube('https://www.youtube.com/watch?v=zNyYDHCg06c', './videos/FindingNemo1')
В этом коде функция downloadYouTube
принимает два аргумента: URL видео и путь, по которому вы хотите сохранить файл.
- Импортируем необходимые модули:
YouTube
из библиотекиpytube
иos
для работы с файловой системой. - Создаем объект
YouTube
, передавая ему URL видео. - Фильтруем потоки видео, выбирая только прогрессивные (видео и аудио в одном файле) с расширением
.mp4
, и сортируем их по разрешению в порядке убывания, выбирая первый (наилучший качественный вариант). - Проверяем, существует ли указанный путь, и если нет, создаем его.
- Загружаем видео в указанный путь.
Для получения более подробной информации ознакомьтесь с официальной документацией по pytube.
Ваша задача заключается в использовании библиотеки youtube_dl
для скачивания видео и указания пути для сохранения файла. Вот пример кода, который должен помочь вам с этой задачей:
Path = "Путь, который вы хотите"
Location = '%s\\%(extractor)s-%(id)s-%(title)s.%(ext)s'.replace("%s ", Path)
ytdl_format_options = {
'outtmpl': Location
}
with youtube_dl.YoutubeDL(ytdl_format_options) as ydl:
ydl.download(['https://www.youtube.com/watch?v=n06H7OcPd-g'])
В этом примере мы определяем переменную Path
, указывая желаемый путь для сохранения загруженного видео. Затем мы создаем строку формата, используя Location
, где используются замены для получения параметров, таких как extractor
, id
, title
и ext
.
Параметры, которые вы можете использовать в ytdl_format_options
, позволяют вам настраивать различные аспекты загрузки, например, указывать место сохранения, изменять названия файлов и управлять выводом информации во время загрузки. Для получения более подробной информации о всех доступных параметрах и способах их использования, вы можете ознакомиться с официальной документацией: README.md на GitHub.
Если у вас есть дополнительные вопросы или нужна помощь, не стесняйтесь задавать!
-> Удалите pytube (если он установлен)
pip uninstall pytube
-> Установите:
pip install pytube3
-> Измените файл extract.py в вашем окружении:
lib/pytube/extract.py
-> Найдите и измените строку:
parse_qs(formats[i]["cipher"]) for i, data in enumerate(formats)
-> Замените её на:
parse_qs(formats[i]["signatureCipher"]) for i, data in enumerate(formats)
-> Используйте pytube:
from pytube import YouTube
import os
def downloadYoutube(vid_url, path):
yt = YouTube(vid_url)
yt = yt.streams.filter(progressive=True, file_extension='mp4').order_by('resolution').desc().first()
if not os.path.exists(path):
os.makedirs(path)
yt.download(path)
url = input('Введите URL:\n')
path = input('Путь для сохранения файла:\n')
downloadYoutube(url, path)
Эти шаги помогут вам установить и настроить pytube для загрузки видео с YouTube.
Файл будет сохранен в той папке, где находится ваше .py приложение. Например, если ваша .py программа находится в папке "Рабочий стол" и вы запускаете приложение оттуда, то вывод будет сохранен на рабочем столе. Вам просто нужно сохранить ваш .py файл на рабочем столе, а затем открыть командную строку и перейти в папку рабочего стола с помощью команды cd
. После этого вы можете запустить свой .py файл с помощью python YOURAPP.py
.
Если же вы хотите загрузить файл и сохранить его в другом месте, вам нужно сначала загрузить его, как вы делаете это сейчас (в временное место), а затем переместить его с помощью библиотек файлов в Python.
Доступ к атрибутам на литералах работает для всех типов, кроме `int`; почему?
Генерация / синтез звука на Python?
Как проверить, написан ли код на Python 2.7 или 3 и выше?
Фиксация количества знаков после запятой с помощью f-строк
Ошибка: "'dict' объект не имеет метода 'iteritems'"