Python 教你轻松下载网易音乐歌曲

点击上方"brucepk",选择"置顶公众号"

第一时间关注 Python 技术干货!

“   阅读文本大概需要 2.8 分钟

前两篇文章收集了歌手信息和歌词,光有歌手信息和歌词没有歌曲怎么行,那不是耍流氓吗?正好今天周末,给大家发点福利,喜欢听音乐的同学有福了,这篇文章直接把网易云音乐歌手的热门歌曲 50 首全部免费下载下来。除了已经下架不在网易数据库的,其他的都能全部下载下来,咳咳,你懂的。给几张图,自己体会。

爬取结果:

直接下载:

但是个别几首歌如果已经下架的话,可以下载下来,但是听不了的,下架的歌曲毕竟是少数。

这次的代码很简单,因为上 2 篇文章已经把大部分前期工作做完了,还没上车的同学请戳以下两篇文章:

Python 爬虫获取网易云音乐歌手信息

Python 爬虫获取网易云音乐歌手歌词

前面没弄懂的也没关系,文章底部会把前面两次的源码和爬虫结果文件的获取方式给出。

导包

之前的代码完成后,我们把它放在同一个目录下是可以直接导入并调用其方法的。务必要放在同一文件夹下面,这样调用才不会报错。本次我需要调用上次获取歌词的 lyrics163.py 文件,因为里面的 get_top50() 方法返回的信息有本次需要的歌曲 id。

用网页上显示的链接直接下载歌曲不可行。众里寻他千百度,终于被我找到了网易提供的外部的歌曲链接,输入相应歌曲的 id 拼接获取歌曲外部可下载的链接。

songurl = 'http://music.163.com/song/media/outer/url?id={}.mp3'.format(songid)
下载歌曲

接下来就简单了,定义一个下载歌曲的函数就可以下载歌曲了。用 urlretrieve 下载音频文件,调用时入参填歌曲 url 和存放路径即可。

主函数

主函数,输入歌手对应的 id ,直接调用之前的保存歌词源码 lyrics163.py 里的方法获取歌曲 id,再调用上面的方法下载歌曲即可。保存路径提前建好,比如我在 E 盘新建了「song」目录,下载的歌曲都会保存在这个目录下。

这样,你想听哪个歌手的歌曲,输入歌手 id,运行此代码,分分钟 50 首热门歌曲下载到本地。是不是很轻松?

这波福利如何?赶紧转发分享给你的朋友们,让他们也享受这份音乐福利,因为一旦网易关闭这个外部下载链接,这个方法就不能下载歌曲了,当然,土豪请随意,哈哈!

公众号回复「歌曲」可获取:

1 第一次文章获取歌手信息的源码和热门歌手信息.csv文件

2 第二次文章的获取歌词文件的源码。

3 本篇文章的源码。

操作步骤:

1 运行 singer163.py 代码获取热门歌手信息,或者直接用我发的,效果一样。

2 运行 song 163.py 代码,从热门歌手信息文件查出你想下载歌曲的歌手 id,输入id,歌曲就保存在你定义的文件夹里了。

3 如果想下载歌词的话,运行 lyrics163.py 代码即可。

pk 哥还没开通留言功能,觉得不错,点赞、转发朋友圈都是一种支持。

推荐阅读

Python 爬虫获取网易云音乐歌手信息

让代码和迈克杰克逊一起跳舞

用 Python 玩微信,机器人陪你唠嗑

brucepk

长按二维码关注我们

本公众号专注:

1.python 技术分享

2.python 爬虫分享

3.资料、工具共享

 欢迎关注我们,一起成长!

  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值