我们以湫湫音乐为例,做一个搜索下载音乐的功能。
用到的软件是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。