Как использовать youtube-dl из программы python
Я хотел бы получить доступ к результатам команды оболочки:
youtube-dl -g "www.youtube.com..."
чтобы напечатать свой вывод direct url
в файл; из программы python:
import youtube-dl
fromurl="www.youtube.com ...."
geturl=youtube-dl.magiclyextracturlfromurl(fromurl)
Это возможно?
Я попытался понять механизм в источнике, но потерялся: youtube_dl/__init__.py
, youtube_dl/youtube_DL.py
, info_extractors
...
Ответы
Ответ 1
Это не сложно и фактически документировано:
import youtube_dl
ydl = youtube_dl.YoutubeDL({'outtmpl': '%(id)s%(ext)s'})
with ydl:
result = ydl.extract_info(
'http://www.youtube.com/watch?v=BaW_jenozKc',
download=False # We just want to extract the info
)
if 'entries' in result:
# Can be a playlist or a list of videos
video = result['entries'][0]
else:
# Just a video
video = result
print(video)
video_url = video['url']
print(video_url)
Ответ 2
Вот путь.
Строка параметров настройки в списке, как и параметры командной строки. В этом случае opts=['-g', 'videoID']
. Затем вызовите youtube_dl.main(opts)
. Таким образом, мы пишем наш пользовательский .py модуль, import youtube_dl
, а затем вызываем функцию main()
.
Ответ 3
Если youtube-dl
- это терминальная программа, вы можете использовать модуль subprocess
для доступа к требуемым данным.
Посмотрите эту ссылку для получения более подробной информации: Вызов внешней команды в Python
Ответ 4
Мне хотелось бы этого
from subprocess import call
command = "youtube-dl https://www.youtube.com/watch?v=NG3WygJmiVs -c"
call(command.split(), shell=False)
Ответ 5
Используя подпроцесс в системе unix, в которой уже установлен youtube-dl, я мог бы написать этот script. Надеюсь, что это даст практическое понимание
https://www.quora.com/What-are-the-best-Python-scripts-youve-ever-written/answer/Prasanna- Кумар-92 СНДИ= 850206706 &? IDX= 0