Я трачу много времени, чтобы получить идеальный модуль загрузчика YouTube на python, таких много, как pytube, Youtube-downloder

Но проблема с вышеуказанными модулями заключается в том, что можно загружать только видео или аудио в более высоком разрешении.

но, наконец, я наткнулся на модуль youtube_dl. Вы можете загружать видео желаемого качества. Я объясню процесс ниже.

во-первых, вам нужно две вещи, прежде чем начать

  1. установить питон с https://www.python.org/

2. установите ffmpeg с https://ffmpeg.org/download.html (используйте это как руководство для installation) и укажите путь к ffmpeg

3. установите youtube_dl с помощью pip install youtube_dl.

приступим к процессу,

  1. Теперь откройте любой редактор, создайте файл .py и введите код ниже.

импорт youtube_dl

url = input("Введите URL:")

Он принимает ссылку от пользователя

2. нам нужно создать два json, они будут выступать в качестве форматов для ссылки на youtube

1. Аудио:

ydl_opt = {

‘format’: ‘bestaudio/best’ #for Audio

}

Вышеупомянутый формат предназначен для загрузки аудио по ссылке YouTube.

с youtube_dl.YoutubeDL(ydl_opts) как ydl:

ydl.download([url])

выше будет выбран аудиоформат в качестве опции и загружен лучший звук по ссылке на YouTube.

2. Видео:

ydl_opts = {

‘format’: ‘bestvideo[height‹=’+res+’]+bestaudio[ext=m4a]/best[height‹=’+res+]’#для видео

}

Вышеупомянутый формат предназначен для загрузки видео по ссылке YouTube. res (разрешение) мы спросим у пользователя.

В приведенном выше json есть высота ‹ = res, потому что, если указанный пользователем формат отсутствует, будет загружен следующий лучший формат.

res = input("Введите разрешение ex:- 1080p")

ydl_opts = {

‘format’: ‘bestvideo[height‹=’+res+’]+bestaudio[ext=m4a]/best[height‹=’+res+’]’#для видео

}

с youtube_dl.YoutubeDL(ydl_opts) как ydl:

ydl.download([url])

ИТ-отдел получает разрешение (разрешение) от пользователя e: 1080p или 720p, 360p, 480p, а затем в соответствии с форматом, указанным при использовании ydl.download, загружает видео.

полный код выглядит так:

из __future__ импортировать unicode_literals

импортировать youtube_dl

url = input("Введите URL:")

ydl_opt = {

«формат»: «bestaudio/best» #для аудио

}

print("1. Загрузка видео 2. Загрузка аудио")

опция = int(input("Введите опцию"))

# для загрузки видео с Youtube

если (опция == 1):

res = input("Введите разрешение ex:- 1080p")

ydl_opts = {

‘format’: ‘bestvideo[height‹=’+res+’]+bestaudio[ext=m4a]/best[height‹=’+res+’]’#для видео

}

с youtube_dl.YoutubeDL(ydl_opts) как ydl:

ydl.download([url])

Элиф (опция == 2):

с youtube_dl.YoutubeDL(ydl_opt) как ydl:

ydl.download([url])

Ссылка на исходный код:

https://github.com/androidts/YoutubeDownload_Python