- 论坛徽章:
- 60
|
本帖最后由 reyleon 于 2013-01-30 20:20 编辑
高品质与超高品质要登录才能下载,不知道怎么通过命令登录,故下载不了高品质与超高品质的音乐;所以下面的脚本默认没登录只能下载标准品质的,姑且看看吧!!! 另外,求高手指教如何使用curl方式登录。
#!/bin/bash
curl -s "http://music.baidu.com/top/dayhot"|awk 'BEGIN{FS="\"";OFS="\t"}/\/song\/[0-9]+/{print $2,"\""$4"\""}' > music_menu.txt
Count=0
Thread=15
FifoFile="$$.fifo"
mkfifo $FifoFile
exec 6<>$FifoFile
rm $FifoFile
for ((i=0;i<=$Thread;i++));do echo;done >&6
exec 5<music_menu.txt
while read -u5 line
do
read -u6
let Count+=1
eval $(echo "$line"|awk 'BEGIN{FS="\"|\t"}{print "musicurl="$1,"music="gensub(/ /,"_","g",$(NF-1))}')
baseurl='http://music.baidu.com'
fullurl="$baseurl/$musicurl/download?__o=%2Ftop%2Fdayhot"
echo -e "正在下载第 $Count 首,${music}.mp3"
{
downloadurl=$(curl -s "$fullurl"|grep '/data/music/file'|awk 'BEGIN{FS="\""}/下载/{print $2}')
wget -q -O ${music}.mp3 "$baseurl/$downloadurl"
echo >&6
sleep 1
} &
done
wait
exec 6>&-
exec 5>&- |
|