在2017年的最后一周,Spider163紧急更新了一组新功能:批量下载网易云音乐特定歌单的全部歌曲(包括普通用户无法下载的付费音乐)。至此,Spider163版本更新至v2.6.0,2017年的故事到此为止。
截止到2017年年底,Spider163支持的功能如下:
获取网易云音乐常见曲风列表
下载特定曲风的推荐歌单
下载歌单歌曲列表
下载歌曲热评
下载歌曲歌词
获取单个歌单的基本信息
获取单首音乐的基本信息
下载指定歌单下音乐高品质MP3(包括付费)
其实这些功能并没有那么奇幻的,最受用户追捧的不过是抓取网易云音乐热门评论的功能。但是呢,这个项目对我而言意义不一般,是我从一个Python新手的成长之路。没错我与Python的密切交流,起于2017年初。
年初的时候,网易把很多网易热评铺到了地铁列车上,那个时候,我刚刚从医院搬回家里,甚至还有漫长的两个月需要拐杖支持才能走路。看到这新闻,闲来无聊,觉得不然写一个网易云音乐的爬虫吧?
用什么,python喽。那个时候我对python的了解也仅限于基本语法,否则我也不会一直坚持使用python2开发了,其实这是一个“历史遗留问题”。
最开始写爬虫的时候,功能很简单,执行一个python脚本,能够跑一批数据就ok,核心部分只不过是研究了网易的前端请求加密算法而已。所以如果你研究我在github上面仓库的话,v1.0以前的版本坚持的运行模式是python x.py * * 的形式,根本不是一个像模像样的第三方库。
不过呢,好像批量抓取网易云音乐热评是一个刚需,所以虽然我的代码只是实现了一部分小功能,在github上仍然获得了二十多个star。这让我备受鼓励,我决定持续开发下去。
在v1.0正式版发布的时候,我更换了一次API,把用户输入的参数采用了key-value的形式,同时开始支持了帮助文档,那个时候开始想坚持认真把这个项目做下去。
后来开始做了自动生成数据库的功能,默认配置路径的功能等。后来,阅读一些主流的开源python库的时候,开始做成setup.py打包的形式,后续的迭代过程中,也试图增加了一个web ui平台提供一些基本的web管理功能。
以及再到后来的时候,开始增加多彩的日志输出,方便用户了解进度。在新功能上也增加了搜索相关的功能,让用户可以轻量的使用,也可以执行批量下载热评这种重量级任务。到现在,支持了mp3的下载工作,这完全是微信后台和github上很多人需求使然,我本来以为谁愿意去下载音乐呢,但是发现这是很多人的需求,于是开发了这个功能。
在这个开发过程中,我学到了很多东西,有些可能本身是很小的事,譬如feature分支合并到master,譬如给程序打tag,以及把代码打包到pypi库等,这些事对于今天的我可能很简单,但是一点一点学以致用的时候,还是蛮兴奋的。
2017,从python小白到维护Spider163到v2.6.0版本积累190 star,也是一个蛮有意思的经历。2018年会继续支持这个项目,一直坚持到500star,这是flag!
附录:Spider163功能截图
web平台数据统计
web平台在线抓取任务提交
web平台用户许可
批量抓取 1000+ 推荐歌单信息
按照执行计划抓取歌单列表下的歌曲信息
根据已抓取的歌曲信息抓取相应歌曲热门评论
根据相应歌曲抓取歌词数据
交互式获取歌曲部分信息
交互式获取歌单部分信息
交互式执行信息检索
按歌单下载mp3高品质音
与本文相关的文章:
你可能感兴趣的爽文: