Загрузите видео 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

Ответ 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)

В случае, если этот код работает для вас, любезно пометьте ответ как правильный.