锁定老帖子 主题:百度MP3 SHELL脚本
精华帖 (0) :: 良好帖 (2) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2010-06-16
最后修改:2010-10-13
版本:2.05 写道 修正因百度mp3下载页面的些许改版造成的无法下载 版本:2.04 写道 因为一些不愉快的杂事影响了我更新,其实我也不清楚是谁对谁错了。 具体修改了什么我不清楚了,因为是早就改好的,只是有一个bug一直没时间去修复,今天正好了解了所有事情之后修复了一把。 新增按歌手搜索的功能 sh baidump3.sh p 周杰伦 或 sh baidump3.sh player 周杰伦 版本:2.03 写道 修正了一个比较严重的BUG: 在多个下载同时进行的时候,如果两个wget同时下载一个文件,会将原有的文件重写,所以大家有可能在开多个脚本同时下载时会发现某些mp3有多个音乐开头。这个版本就是解决这个问题。下载之前会判断.download文件是否已经存在,如果已经存在那么就不会再进行下载。 另外针对Mac用户增加了个小功能,当音乐下载完之后可以在通知区域给自己一个提醒,前提是要先安装growlnotify。可以参考http://imtx.cn/archives/1518.html这篇博文进行安装。 最后给我的脚本加了个小图标... 是我自己弄错了,之前进行了mp3类型的限制,倒反造成了什么歌曲都无法下载了,并不是百度进行了升级。不过仍然更新到2.02吧。 改进列表 1、从这个版本开始,只允许下载mp3类型的文件。毕竟这个脚本叫baidump3.sh 2、增加MAX_FILESIZE配置,这个参数限制了能下载的最大值,超过这个值的文件将不会被下载。因为我发现实际上下载下来的mp3大多数应该是在2M~10M之间,这个范围之外的mp3大多均没什么意义 3、MIN_FILESIZE的默认值从3M降低到2M 4、有人反应download这个参数太长了,所以我缩短为一个字母"d"。这样即可下载period这首歌了 sh baidump3.sh d period 5、参数更改 增加按照曲风下载的功能,其实之前是有这个功能的,只是被锁定在 悲伤、轻音乐等参数中了,现在将这些解放出来,作为按照曲风进行搜索,然后下载。 sh baidump3.sh s 轻音乐 或者 sh baidump3.sh style 轻音乐 将百度音乐排行参数移动到top参数之下 sh baidump3.sh t top500 或者 sh baidump3.sh top top500 top参数清单(TOP100、TOP500、日韩歌曲、欧美歌曲、电影歌曲、摇滚) sh baidump3.sh t top100 sh baidump3.sh t top500 sh baidump3.sh t rihan sh baidump3.sh t oumei sh baidump3.sh t movie sh baidump3.sh t rock 心情不好,随便改了点功能 改进列表 1、下载文件大小在下载之前就判定,原来是下载之后 2、下载文件类型过滤掉除了mp3之外的类型,因为我发现会下载一些我不喜欢的格式,开关在365行的awk '{if($6==MP3||$6==mp3)print $0}',不喜欢可以删掉 3、增加风格下载增加DJ sh baidump3.sh dj have fun 改进了下,第一个版本过于注重基础功能,各个功能散落再不同的脚本中,之间的数据通过大量的临时文件进行交互,而且在很多临时文件都无法删除掉。 现在重新整合到一个文件里面,程序启动之后只产生一个pid的临时文件用于控制wget子进程。 改进列表 1、去掉临时文件交互的机制 2、增加下载目录指定 3、增加日志功能 4、增加按风格批量下载(轻音乐、伤感、老歌) 5、完善下载子进程控制 6、将多个脚本整合为一个脚本 命令例子 sh baidump3.sh download period sh baidump3.sh top100 sh baidump3.sh light have fun 背景:MAC下没有好的下载音乐工具,我这个人比土,平时也都不知道现在流行什么音乐。一般有心情有空闲有电脑又没人骚扰的情况下就去百度mp3的排行榜上扫描下现在都流行啥,然后也装0x11的听下。 需要的外部命令:wget、curl、iconv 用法 sh baidu_mp3_get.sh <歌曲名> sh baidu_mp3_top.sh top100 sh baidu_mp3_top.sh top500 sh baidu_mp3_top.sh rihan 例如: sh baidu_mp3_get.sh period 这样脚本会去百度mp3搜索上搜索关键词 period ,然后根据公式大小(K) * 速度 / ( 排列顺序 * 0.8 )计算出权值,取权值最高的进行下载。 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2010-06-20
为什么只有下载没有回复,
|
|
返回顶楼 | |
发表时间:2010-06-21
可能因为写得不好,我再改改,哎...
|
|
返回顶楼 | |
发表时间:2010-06-22
最后修改:2010-07-09
这里放截图
|
|
返回顶楼 | |
发表时间:2010-06-24
来顶你下,猥琐驰,写的不错~
|
|
返回顶楼 | |
发表时间:2010-06-24
不错,回头来研究下。
|
|
返回顶楼 | |
发表时间:2010-06-25
2、下载文件类型过滤掉除了mp3之外的类型,因为我发现会下载一些我不喜欢的格式,开关在365行的awk '{if($6==MP3||$6==mp3)print $0}',不喜欢可以删掉 这是一个BUG,不加引号,awk会当成变量来看,但是竟然也能判断过去。。。反正应该改动为才能正确保证只下载mp3类型的文件... -_- awk '{if($6=="MP3"||$6=="mp3")print $0}' |
|
返回顶楼 | |
发表时间:2010-06-25
牛叉了,,,,顶百度
|
|
返回顶楼 | |
发表时间:2010-06-26
下载后执行报错:./baidump3.sh: line 205: syntax error at line 256: `(' unexpected
|
|
返回顶楼 | |
发表时间:2010-06-27
最后修改:2010-06-27
guaerjia 写道 下载后执行报错:./baidump3.sh: line 205: syntax error at line 256: `(' unexpected
用 sh baidump3.sh来执行试试呢? 正确的用法是 sh baidump3.sh download period |
|
返回顶楼 | |