Я трачу много времени, чтобы получить идеальный модуль загрузчика YouTube на python, таких много, как pytube, Youtube-downloder
Но проблема с вышеуказанными модулями заключается в том, что можно загружать только видео или аудио в более высоком разрешении.
но, наконец, я наткнулся на модуль youtube_dl. Вы можете загружать видео желаемого качества. Я объясню процесс ниже.
во-первых, вам нужно две вещи, прежде чем начать
- установить питон с https://www.python.org/
2. установите ffmpeg с https://ffmpeg.org/download.html (используйте это как руководство для installation) и укажите путь к ffmpeg
3. установите youtube_dl с помощью pip install youtube_dl.
приступим к процессу,
- Теперь откройте любой редактор, создайте файл .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])