我正在尝试使用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_code
为200
。我的代码似乎有什么问题?
答案 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