Загрузите видео 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'])
Ответы
Ответ 1
Я обнаружил действительно классный модуль Python, который позволяет легко загружать видео с YouTube. Чтобы установить его:
pip install pytube
Теперь вы можете скачать свое видео следующим образом -
from pytube import YouTube
yt = YouTube("https://www.youtube.com/watch?v=n06H7OcPd-g")
yt = yt.get('mp4', '720p')
yt.download('/path/to/download/directory')
Бум, теперь вы можете легко очищать такие видео с помощью Python; Теперь мы пьем!
Обновление 1:
Благодаря комментарию @Chiramisu вы можете использовать следующую однострочную версию для загрузки видео высочайшего качества:
YouTube('video_url').streams.first().download('save_path')
Для Windows укажите путь с двойной обратной косой чертой, например:
YouTube('video_url').streams.first().download('C:\\Users\\username\\save_path')
Обновление 2:
Если pytube не работает для вас, попробуйте использовать youtube-dl:
sudo -H pip install --upgrade youtube-dl
Теперь загрузите видео:
from __future__ import unicode_literals
import youtube_dl
ydl_opts = {}
with youtube_dl.YoutubeDL(ydl_opts) as ydl:
ydl.download(['https://www.youtube.com/watch?v=BaW_jenozKc'])
Подробнее о ytdl в python здесь.
Ответ 2
загрузка видео с youtube в python 3.x для справки, вы можете проверить https://python-pytube.readthedocs.io/en/latest/user/quickstart.html#downloading-a-video
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')
Ответ 3
Вам нужен только os.chdir(path)
чтобы изменить каталог, в который вы хотите загружать файлы.
from __future__ import unicode_literals
import youtube_dl
import os
ydl_opts = {}
os.chdir('C:/Users/Desktop')
with youtube_dl.YoutubeDL(ydl_opts) as ydl:
ydl.download(['https://www.youtube.com/watch?v=BaW_jenozKc'])
Ответ 4
Он сохранит файл, в котором находится ваше.py приложение. например, если ваша программа.py находится в папке вашего рабочего стола и вы запускаете приложение с рабочего стола, вывод будет сохранен на вашем рабочем столе. вам нужно только сохранить ваш.py файл на рабочем столе, а затем открыть командную строку и перейти на рабочий стол с помощью команды cd после запуска вашего.py файла с помощью python YOURAPP.py, но если вы хотите его загрузить и затем сохранить в другом месте вам необходимо загрузить его, как сейчас (на своем временном месте), а затем переместить его через библиотеки файлов в python.
Ответ 5
Path = "The Path That You Want"
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'])
Лично я не очень хорошо знаю библиотеку, но я знаю, что у youtube_dl есть ytdl_format_options, она дает вам возможность добавить некоторые из них, я не знаю, как она называется, но, скажем, такие параметры, как выше, outtmp1 дают вам возможность указать местоположение, идентификатор, заголовок или тишина, чтобы увидеть журнал или нет, и это намного больше. почти все, что вы можете получить по этому адресу: https://github.com/ytdl-org/youtube-dl/blob/master/README.md#format-selection
Ответ 6
youtube_dl
есть гигантский список опций: https://github.com/rg3/youtube-dl/blob/master/youtube_dl/YoutubeDL.py#L128-L278
Но я не вижу контроля над выходным каталогом. Таким образом, вы можете переместить файл позже. Для этого см.: Как перенести файл в Python.
Ответ 7
Я думаю, вы немного смущены, попробуйте этот код, от конца до конца
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'])
#Moving your source file to destination folder
source_file = 'C:\Users\Sharmili Nag\Aahatein - Agnee (splitsvilla 4 theme song) Best audio quality-n06H7OcPd-g.mp4'
destination_folder = 'C:\Users\Sharmili Nag\Desktop\Aahatein - Agnee (splitsvilla 4 theme song) Best audio quality-n06H7OcPd-g.mp4'
shutil.move(source_file, destination_folder)
В случае, если этот код работает для вас, любезно пометьте ответ как правильный.