2017-01-18 283 views
-5

我試圖從YouTube上下載歌曲作爲與python代碼的MP3文件,我嘗試了許多代碼,但他們都沒有工作(在我的項目文件夾中有一個名爲「a」的文件下載但是當我嘗試播放媒體播放器中的歌曲時,它不工作),如果有人知道問題是什麼,或者有另一個可以幫助我的代碼,這將會非常有幫助。 TNX從python下載YouTube的音樂

這是我的代碼:

import urllib 

url = "https://www.youtube.com/......"  

download = urllib.urlretrieve(url, "a.mp3") 

download 
+3

我認爲你假設* Python可以做魔法*有點過頭了。 –

+2

也許你的音箱沒有連接 –

+0

@AriGold它對揚聲器沒有問題,我已經查過了...... – python123

回答

0

你可以能夠從你的代碼callyoutube-dl。使用--id僅限制視頻的ID作爲文件名。

youtube-dl --extract-audio --id <link to video> 

然後,您可以從代碼中訪問音頻文件,如ID.mp3。

例子:

audioFile = 'Tj75Arhq5ho.mp3' 
command = 'youtube-dl --extract-audio --id https://www.youtube.com/watch?v=Tj75Arhq5ho' 
subprocess.call(command.split(), shell=False) 
# ... do whatever you want with the audioFile here 
+0

爲什麼你寫了t.split()?我不明白你的意思 – python123

+0

對不起,這是錯誤的:) – Matho

0

您可以使用youtube-dl,它是用Python編寫的,所以你可以從你的代碼導入,這裏是從readme片段:

from __future__ import unicode_literals 
import youtube_dl 

ydl_opts = {} 
with youtube_dl.YoutubeDL(ydl_opts) as ydl: 
    ydl.download(['http://www.youtube.com/watch?v=BaW_jenozKc']) 

然後,您可以設置'preferredcodec': 'mp3' in ydl_opts