美文网首页Python学习快车
爬取网易云音乐“三部曲”(三):轻松下载网易音乐歌曲!

爬取网易云音乐“三部曲”(三):轻松下载网易音乐歌曲!

作者: 松珏 | 来源:发表于2019-01-10 13:38 被阅读27次

    本文是承接前两文章而来,前两篇文章我们收集了歌手信息和歌词,可是光有歌手信息和歌词没有歌曲怎么行,没有歌曲怎么知道音调,这让人怎么学?怎么听?这不耍流氓嘛?为了向大家证明小编不是耍流氓,是耍无赖,我决定教大家直接把网易云音乐歌手的热门歌曲全部免费下载下来。除了已经下架不在网易数据库的,其他的都能全部下载下来,咳咳,你懂的。给几张图,自己体会。

    爬取结果:

    直接下载:

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

    这次的代码很简单,因为上 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,运行此代码,分分钟 热门歌曲下载到本地。是不是很轻松?

    是不是觉得很爽?是不是很想试试,快来动手吧!好的东西应该免费分享给大家,快举起你那天使般的小手,点波转发吧!当然,土豪就请随意咯!

    写在最后:

    如果大家在学习Python的路上,或者打算学习Python需要学习资料,可以在评论区留言1314,小编将免费赠送大家学习资料喔!

    本文来自网络,如有侵权,请联系小编删除!

    相关文章

      网友评论

        本文标题:爬取网易云音乐“三部曲”(三):轻松下载网易音乐歌曲!

        本文链接:https://www.haomeiwen.com/subject/eaborqtx.html