如何使用YouTube-dl python api获取YouTube链接的mp3网址?

时间:2014-04-01 21:51:19

标签: python api youtube-api httprequest

我需要一个mp3网址。这样我就可以使用该URL直接在vlc中打开它,这样vlc就可以像流媒体一样播放。我在stackoverflow上找到了以下代码。我可以用它来改变mp3网址。

我正在制作pyMusicFs

import youtube_dl

ydl = youtube_dl.YoutubeDL({'outtmpl': '%(id)s%(ext)s'})
# Add all the available extractors
ydl.add_default_info_extractors()

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)

1 个答案:

答案 0 :(得分:2)

extract_info方法将返回所有可用格式,但是否包含MP3取决于YouTube。我认为我从未见过带有MP3链接的视频,但大多数都包含M4A版本(仅限音频版)。

更新:使用您的示例代码,您可以通过以下方式获取m4a音频:

for format in video['formats']:
  if format['ext'] == 'm4a':
    audio_url = format['url']

PS:您必须拥有最新版本的VLC才能播放它。