比较喜欢落网的音乐,听落网也有1年多了,不知道落网的园友点这里:http://www.luoo.net/html
去年曾经写过一篇文章解决落网音乐不能下载的问题:落网的音乐很好听的,你造么?不能下载啊,怎么破?node
时隔一年,落网早已改版,原来基于html分析音乐下载地址的代码也已过期,平时工做过于繁忙,也没有去维护那个工具。jquery
今天工做依旧忙的一沓糊涂,来听落网放松一下,发现726这个期刊的音乐甚是不错,每个音符组合在一块儿唤起了我疲惫的神经,心血来潮,觉定要把这期的音乐下载下来,这才想到以前作的下载工具已经不能用了。git
忙里偷闲,把原来的代码修改了一下,让他适应了新版的html,说白了就是从html代码中提取期刊信息,分析MP3的下载地址,好在落网没有作的那么绝,很快代码就改好了(最初的代码是在一个晚上写出来的,弄的比较挫,因此如今也是比较挫~),嗯,又能够愉快的下载音乐了。github
酷酷的,是否是有种geek的感受!web
这个工具是基于nodejs的,能够跨平台跑在不一样的系统上,代码已经开源到GitHub上了,有兴趣的能够直接去clone一份:https://github.com/stanzhai/luoo-downchrome
git clone https://github.com/stanzhai/luoo-down.git
npm install
安装所需的依赖包node app
就能够运行啦此次的实现和去年实现的原理上是同样的,想了解实现的原理的园友能够看一下我去年写的那篇文章:http://www.cnblogs.com/jasondan/p/luoo-down.htmlnpm
此次不一样的地方在于使用了cheerio去提取html中的数据,由于落网的此次改版使得提取信息不如之前那样能够直接分析字符串那么方便了。api
cheerio是nodejs的一个第三方模块,能够认为是精简版的服务端jquery,它实现了jquery的核心选择器功能,能够很是方便的实现html数据的提取,用它开发web信息采集或者爬虫真是太方便了:https://www.npmjs.com/package/cheerio网络
关于信息采集,其实还能够经过分析落网的App找到期刊的api接口信息,不过成本会略高一些,曾反编译过他的Andriod客户端,发现接口部分的代码已经混淆加密了,也在iPhone上设置http代理,捕获过他的接口调用地址,发现还要传token,懒得分析他的token生成规则了,就采用了这种直接分析他的html页面的方式去实现了,缺点固然也很明显,那就是落网一旦改版,这个工具又不能用了,哈哈,只能期待落网的程序猿们少折腾啦!
分析MP3的下载地址也是很是简单的,使用chrome随便打开一个期刊,调出调试工具,分析网络请求,而后随便播放一首音乐就能找到mp3的下载地址了,固然若是你不嫌麻烦的话,也能够直接从这个地址上下载音乐的,chrome真乃神器也!