2015-08-18 8 views
1

Я новичок в python, и я пишу скрипт python для использования youtube-dl для извлечения только ссылки для загрузки, точно так же, как ссылка, заданная консолью (URL-адрес youtube-dl -get-url). Я не хочу загружать носители, мне просто нужна ссылка для загрузки из моего сценария.Wring python script, который использует youtube-dl, чтобы извлечь только ссылку для скачивания?

+1

Ну, вы можете посмотреть на исходный код в их GitHub репо ... FRM быстрый взгляд похоже, что они просто устанавливают параметр «forceurl» при создании экземпляра класса. – Bakuriu

ответ

3
>>> from youtube_dl import YoutubeDL # $ pip install youtube-dl 
>>> url = 'https://www.youtube.com/watch?v=pvAsqPbz9Ro' 
>>> ydl = YoutubeDL() 
>>> r = ydl.extract_info(url, download=False) 
[youtube] pvAsqPbz9Ro: Downloading webpage 
[youtube] pvAsqPbz9Ro: Downloading video info webpage 
[youtube] pvAsqPbz9Ro: Extracting video information 
[youtube] pvAsqPbz9Ro: Downloading DASH manifest 
[youtube] pvAsqPbz9Ro: Downloading DASH manifest 
>>> r['url'] 
u'https://r6---sn-n8v7zne7.googlevideo.com/videoplayback?...&ipbits=0' 

Если имеется несколько медиа-форматов, то, чтобы получить медиа URL для последнего формата:

with youtube_dl.YoutubeDL(dict(forceurl=True)) as ydl: 
    r = ydl.extract_info(url, download=False) 
    media_url = r['formats'][-1]['url']