百度MP3 SHELL脚本

更新了百度MP3下载脚本,修复了多个下载同时进行导致文件重写的问题,并新增了按歌手搜索、风格下载等功能。此外还优化了文件大小判断及文件类型过滤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

[quote="版本:2.05"]
修正因百度mp3下载页面的些许改版造成的无法下载
[/quote]

[quote="版本:2.04"]
因为一些不愉快的杂事影响了我更新,其实我也不清楚是谁对谁错了。
具体修改了什么我不清楚了,因为是早就改好的,只是有一个bug一直没时间去修复,今天正好了解了所有事情之后修复了一把。

新增按歌手搜索的功能
sh baidump3.sh p 周杰伦

sh baidump3.sh player 周杰伦

[/quote]


[quote="版本:2.03"]
修正了一个比较严重的BUG:
在多个下载同时进行的时候,如果两个wget同时下载一个文件,会将原有的文件重写,所以大家有可能在开多个脚本同时下载时会发现某些mp3有多个音乐开头。这个版本就是解决这个问题。下载之前会判断.download文件是否已经存在,如果已经存在那么就不会再进行下载。

另外针对Mac用户增加了个小功能,当音乐下载完之后可以在通知区域给自己一个提醒,前提是要先安装growlnotify。可以参考[url]http://imtx.cn/archives/1518.html[/url]这篇博文进行安装。

最后给我的脚本加了个小图标...
[img]http://dl.iteye.com/upload/attachment/275245/ebc76d9d-897e-385b-9457-46f4ab03f48d.png[/img]
[/quote]



是我自己弄错了,之前进行了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 ,然后根据公式 [code]大小(K) * 速度 / ( 排列顺序 * 0.8 )
计算出权值,取权值最高的进行下载。

目前在Mac OS上和Linux上跑过,Mac OS上需要装wget、curl、iconv

另外urlencode.sh这个脚本是从网上抄的,感谢heiner.steven@odn.de被我抄
[/code]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值