如何不用音乐播放器批量下载音乐?只需几分钟,Python轻松实现

Python016

如何不用音乐播放器批量下载音乐?只需几分钟,Python轻松实现,第1张

我们想听的歌,在特定音乐软件才有,但是又嫌弃太麻烦,不想下载软件,这个好说,Python随随便便就实现了!

我们以湫湫音乐为例,做一个搜索下载音乐的功能。

用到的软件是anaconda5.2.0(python3.6.5)和pycharm,anaconda是自带Python的,安装了anaconda就不用安装Python了。

然后需要安装一个requests库,键盘按住win+r,在弹出的搜索框输入cmd ,按回车 ,在新弹出的命令提示符窗口输入 pip install requests 即可完成安装。

啰嗦了点,但是对零基础友好一点。 知识点:

OK,开始尝试吧 先安排一下要用的模块,导入进来。

我们既然要爬一个网站,那么如果有反扒的话,肯定要解决这个问题,像今天可以用 headers 模块来模拟成浏览器访问网站。

那么 headers 在哪里找呢? 在浏览器页面上点击:右键–>检查–>(或者直接按F12),剩余按照图中显示操作,需要按Fn+F5刷新出网页来

然后我们既然是要搜索下载的话,那不得先把搜索功能做出来。

看看效果

获取加密的vkey

如果你获取的数据 是 {} .json() 他会直接帮我们转换成字典。 然后实现下载 if 判断是否有歌曲下载文件夹,如果没有创建,就会自动创建一个歌曲下载文件夹。

当然这个名字都可以自己改。

现在我们看看效果

页码和数据条数可以不输入,他会默认下载第一页,一页是十首歌。

你也可以下载其他页

然后我只想要一首

这是刚刚自动获取到的歌曲

当然,只用代码多无趣,我们还可以实现把代码打包,做成exe 程序,直接运行~ 具体怎么做我就不一 一赘述了,方法简单,百度一下分分钟就做的出来。我给大家看下效果。

虽然只有一个命令框页面,单好歹也是个不用安装Python也能运行的exe文件了不,想要页面好看,还得另外做个界面出来,下次整一个~

用request不就行了吗?

import requests

from playsound import playsound

class Music:

def save(self,url):

res=requests.get(url)

with open('music.mp3','wb') as f:

f.write(res.content)

if __name__ == '__main__':

url="https://music.163.com/song/media/outer/url?id=1456443773.mp3"

music=Music().save(url)

playsound("music.mp3")

几种方法提供给你,自己选择:

一,Python网络爬虫

优点:自定义程度高,只要这个网站没有拦截,就可以无限爬取,下载位置,爬取网站等都可以自定义。

缺点:需要会Python编程,学习成本极高,从入门到成功爬虫至少需要一个月。

二,音乐助手软件

优点:任何平台的音乐都可以下载,而且付费也可以破解成免费,可以自定义保存位置。

缺点:可能需要一个一个下载,而且这种软件如果被查封,就没了。

三、下载各个平台音乐的客户端

优点:方便小白操作

缺点:可能需要花钱开vip

你的想法很新奇,但是没必要,浪费空间而且费时间,一般性的,你下载自己喜欢的作为缓存离线也可以听就好,其他时间在线听就ok。