使用Python通过Internet下载文件

时间:2016-05-09 18:07:47

标签: python python-2.7 file api python-requests

我正在尝试使用YouTubeinMp3的API编写一个脚本,该脚本会在向特定端点发送请求时下载音乐文件。

import requests
import json

si = {'video': 'https://www.youtube.com/watch?v=zTgLhIjiSas', 'autostart': 1}
res = requests.get("https://www.youtubeinmp3.com/download/", params = si)
print len(res.content)

现在,生成的URL即https://www.youtubeinmp3.com/download/?video=https://www.youtube.com/watch?v=zTgLhIjiSas&autostart=1会自动开始下载给定视频的相应mp3文件。

但是,在执行上述脚本时,文件无法开始下载。返回的status_code200。我的代码似乎有什么问题?

2 个答案:

答案 0 :(得分:3)

生成的URL指向HTML页面,该页面会将您重定向到另一个页面,从而触发下载。此URL不是mp3文件本身的直接URL。要获取mp3的URL,您可以抓取这些页面。

答案 1 :(得分:1)

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'])

在您运行上述内容之前,您需要使用pip安装youtube_dl软件包。
打开终端/ cmd并输入:

pip install youtube_dl