2012年3月7日星期三

批量下载豆瓣FM加心歌曲

 

需要的软件:

  • Excel
  • Python
  • 迅雷

 

主要流程:

1. 获得豆瓣FM加心歌曲列表:登录douban.fm,安装Chrome 插件豆瓣电台爬虫,在douban.fm页面点击插件按钮。过片刻,会有页面显示全部歌曲列表,黏贴入Excel。

Note: 使用chrome插件得到歌曲列表的好处就是不需要在client端输入用户信息,也避免了频繁basic auth,会跳出验证码的问题。

2. 使用Excel修饰歌曲列表:比如删除重复歌曲(remove duplicates),删除不需要的信息,就保留歌名,歌手,另存为dbFM.csv。

Note: 在Windows OS上,文件莫名就会被加入BOM,使用工具(e.g. Notepad++)把这个标志删了,不然运行以下程序会出错。

3. 写Python脚本生成歌曲资源信息列表:主要从ting.baidu.com上得到资源URI。程序输入为dbFM.csv;输出有两个文件,ResourceURI.txt(以.mp3结尾的URL,一行一曲),MissingList.txt(ting上不一定找得到,需要手工查找)。

Note: 最开始爬的是mp3.baidu.com,编码GBK的,崩溃。mp3和ting,功能很重叠啊,百度就不能在mp3基础上升级吗。 写这么段小程序,我深刻得感受到走上了不归路,码农!为了个白痴问题都得花很长时间去解决!!!程序写得健壮,还要考虑exception处理,网络问题,断点续读,这些通通没考虑。我离专业码农还是有差距的。

4. 使用迅雷批量下载资源:复制ResourceURI.txt内容,打开迅雷,新建,至此,终于可以批量下载了。

Note: 最好批量下载一次下完。发现要是把下载任务放在下次迅雷开启的时候,歌名会变成File(n).mp3的形式,不会自动重命名了。原因未明,但是300多首歌每首都手动重命名,这可够浪费时间的了。切忌。

5. 整个过程还是蛮繁琐的,把这些功能都集成起来也没兴趣做了。批量下载加心歌曲,估计以后不会再用了。等批量下载完,发现很多歌都不要听了,口味随时在变。倒是谁搞个批量取消加心歌曲啊。

没有评论:

发表评论