다음 셸 명령의 결과에 액세스하고 싶습니다.
youtube-dl -g "www.youtube.com/..."
direct url
파이썬 프로그램 내에서 파일로 출력을 인쇄합니다 . 이것이 내가 시도한 것입니다.
import youtube-dl
fromurl="www.youtube.com/..."
geturl=youtube-dl.magiclyextracturlfromurl(fromurl)
가능합니까? 나는 소스의 메커니즘을 이해하는 시도했지만 잃었다 : youtube_dl/__init__.py
, youtube_dl/youtube_DL.py
, info_extractors
…
답변
어렵지 않고 실제로 문서화되었습니다 .
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)
답변
간단한 코드의 경우 생각할 수 있습니다.
import os
os.system('youtube-dl [OPTIONS] URL [URL...]')
위는 파이썬 내부에서 명령 줄을 실행하는 것입니다.
기타는 Python
에서 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'])
답변
방법이 있습니다.
명령 줄 인수를 설정하는 것처럼 옵션의 문자열을 목록으로 설정합니다. 이 경우 opts=['-g', 'videoID']
. 그런 다음 youtube_dl.main(opts)
. 이런 식으로 사용자 지정 .py 모듈을 작성한 import youtube_dl
다음 main()
함수 를 호출합니다 .
답변
경우 youtube-dl
터미널 프로그램입니다, 당신은 사용할 수 있습니다 subprocess
당신이 원하는 데이터에 액세스 할 모듈을.
자세한 내용은이 링크를 확인하십시오. Python에서 외부 명령 호출
답변
나는 이것을 원한다
from subprocess import call
command = "youtube-dl https://www.youtube.com/watch?v=NG3WygJmiVs -c"
call(command.split(), shell=False)