如何使用Python3下载mp3文件

时间:2019-03-15 22:58:07

标签: python-3.x

我正在尝试从soundcloud下载一些播放列表,并找到了一个为您执行此操作的网站。当然,如果播放列表很长,那么单击每个链接进行下载非常繁琐。因此,我保存了页面的HTML并解析了链接。这个想法是使用urllib或请求下载文件。

这是我的代码:

opener = urllib.request.build_opener()
opener.addheaders = [('User-agent', 'Mozilla/5.0')]
urllib.request.install_opener(opener)

track_url = 'https://scdownloader.io/download?track=zandex-hazerback-erox-stroke-bth-release&token=be1bc7997695495f756312886f566110'
track_name = 'BANG_THE_HOUSE___zandex-hazerback-erox-stroke-bth-release.mp3'
output_file = '/Users/ms/Desktop/playlist/{}'.format(track_name)
urllib.request.urlretrieve(track_url, output_file)

当我运行上面的代码时,它确实保存了文件,但仅以1字节的文件形式提供。

我已经尝试过使用请求进行其他排列,但是基本上要么不起作用,要么下载并保存一个零字节文件,要么确实可以下载并保存一个1字节文件……只是无法理解全部内容!

还请注意,我必须发送标头b / c,否则会收到403错误。

非常感谢您的帮助!

谢谢!

编辑:

根据下面的评论,这是urlretrieve http响应:

Date: Fri, 15 Mar 2019 23:52:44 GMT
Content-Type: text/html; charset=UTF-8
Transfer-Encoding: chunked
Connection: close
Set-Cookie: __cfduid=dcc5f95391fac83973cc77648c0e8c0391552693964; expires=Sat, 14-Mar-20 23:52:44 GMT; path=/; domain=.scdownloader.io; HttpOnly; Secure
X-Powered-By: PHP/5.6.36
Set-Cookie: PHPSESSID=fsnrrrtpnrav3vq5u2t9vfvrp7; path=/
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Vary: Accept-Encoding,User-Agent
Expect-CT: max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
Server: cloudflare
CF-RAY: 4b82671d38067790-LAX

0 个答案:

没有答案