如何从python程序使用youtube-dl?


问题内容

我想访问以下shell命令的结果,

youtube-dl -g "www.youtube.com/..."

direct url从python程序中将其输出打印到文件中。这是我尝试过的:

import youtube-dl
fromurl="www.youtube.com/..."
geturl=youtube-dl.magiclyextracturlfromurl(fromurl)

那可能吗?我试图了解源的机制,但迷路了:youtube_dl/__init__.pyyoutube_dl/youtube_DL.pyinfo_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)