使用python

时间:2017-01-18 16:46:59

标签: python python-2.7 youtube urllib2 urllib

我试图从youtube下载歌曲作为带有python代码的mp3文件,我尝试了很多代码,但没有一个正常工作(我的项目文件夹中有一个名为“a”的文件,但是当我试图播放时媒体播放器中的歌曲不起作用),如果有人知道问题是什么,或者有其他代码可以帮助我,那将是非常有帮助的。 TNX

这是我的代码:

import urllib

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

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

download

2 个答案:

答案 0 :(得分:1)

您可以使用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'中设置ydl_opts

答案 1 :(得分:0)

您可以从代码中call youtube-dl。使用--id仅限制视频的ID作为文件名。

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

然后,您可以从代码中访问您的音频文件ID.mp3。

示例:

package com.paymon;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;

@Controller
public class WelcomeController {

    @RequestMapping("/welcome")
    public ModelAndView welcome()
    {
        System.out.println("welcome entered");
        ModelAndView model = new ModelAndView();
        model.setViewName("index");
        return model;
    }
}