造福大众,分享一个mp3下载脚本
2007-09-10 00:55
323 查看
缘由
同事们总是会有新的发现,在某人的blog上面 找到了《51首电视台使用频率最高经典背景音乐》(http://hi.baidu.com/saden/blog/item/178339c773a28eded100608a.html), 发现这些音乐确实不错,应大家的要求写了个简单的脚本来下载这些曲目。获取这个脚本
我已经将这个脚本上载到http://www.shaohui.org/downloads/mp3get.sh,可以直接用下面的命令下载。wget http://www.shaohui.org/downloads/mp3get.sh
如何使用
直接执行该脚本即可,如果你是在内网,可能需要设置代理服务器。sh mp3get.sh
脚本开始下载后,会在当前目录建立一个mp3.txt文件,然后把所有下载的mp3的名字写入该文件,对应的mp3用数字编号,如1.mp3,30.mp3
存在的问题
本来打算把文件名也自动改成中文的,不过当重命名以后遇到乱码,暂时放在这里,期待有人帮着解决。源代码
如果你不能够下载,可以直接拷贝source到一个文件,然后再执行就可以了。#!/bin/bash # # a shell script to download mp3 from website # shaohui.zheng#gmail.com # URL=http://hi.baidu.com/saden/blog/item/178339c773a28eded100608a.html O="--connect-timeout=5 --dns-timeout=5 --timeout=1200 -t 2" tmp1=`mktemp` tmp2=`mktemp` mp3list=`mktemp` # display a message with plain text function show() { echo -en "//033[1;32m" # set font color as blue echo -e "$*" echo -en "//033[0;39m" # restore font color as normal } wget $URL -O $tmp1 dos2unix $tmp1 > /dev/null 2>&1 grep '<strong>[0-9]*/.' $tmp1 | sed 's#.*<strong>##g' | sed 's#<.*##' | tr " " "_" > mp3.txt cp mp3.txt $mp3list grep "<a href.*/.mp3" $tmp1 | sed 's/.*href="//' | awk -F/" '{ print $1 }' | uniq> $tmp2 total=`cat mp3.txt | wc -l` cnt=1 while [ -s $mp3list ] do mp3url=`head -1 $tmp2` mp3cnt=$cnt mp3name=`head -1 $mp3list` show "Downloading $mp3name ($cnt/$total)" sed -i 1d $tmp2 sed -i 1d $mp3list wget $mp3url $O -O "${mp3cnt}.mp3" cnt=`expr $cnt + 1` done rm $tmp1 $tmp2 $mp3list -f show "All Done"
相关文章推荐
- 造福大众,分享一个mp3下载脚本 [转]
- 分享一个ftp下载脚本
- 用PHP实现一个MP3下载脚本
- 分享一个Python下载视频脚本
- 【下载】分享一个ida脚本,非常方便
- 分享一个下载免费电子书的好站
- 分享一个MySQL分库分表备份脚本(原)
- 使用python脚本下载www.wuxia.net.cn上的书籍,并且将它们合并成一个文件
- 16个免费下载超酷编程脚本的网站分享
- Shell脚本实现批量下载网络图片代码分享
- 一个下载英文书籍教程的好网站分享!
- 分享一个Spring MVC 根据图片URL,下载图片的方法
- 一个测试下载速度的shell脚本
- 分享一个自动编译,打包,签名 android apk 的小脚本
- 分享一个自用的 Inno Setup 软件打包脚本
- 分享一个Android工具下载地址
- 一个监控LINUX目录和文件变化的Shell脚本分享
- [10月19日的脚本] 在SharePoint中为一个 Web 应用程序添加允许内联下载的MIME类型
- 使用Python编写一个在Linux下实现截图分享的脚本的教程
- 给大家分享一个在Windows下批量下载Android源码的方法