当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 10 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : 征求百度新歌top100的自动下载系统
帖子发表于 : 2005-07-31 18:00 
论坛管理员

注册: 2005-03-27 0:06
帖子: 10116
系统: Ubuntu 12.04
送出感谢: 7
接收感谢: 128
就是自动打开 http://list.mp3.baidu.com/list/newhits.html
提取链接,再打开mp3链接,再下载mp3,如果失败,尝试下一个链接。


_________________
当净其意如虚空,远离妄想及诸取,令心所向皆无碍


页首
 用户资料  
 
2 楼 
 文章标题 :
帖子发表于 : 2005-07-31 21:54 
头像

注册: 2005-04-10 16:54
帖子: 2625
地址: 温州大学
送出感谢: 0 次
接收感谢: 1
这个东东有点意思,得好好看看研究研究!


_________________
我心无畏,源自于我心无知。
图片


页首
 用户资料  
 
3 楼 
 文章标题 :
帖子发表于 : 2005-07-31 22:00 

注册: 2005-05-07 23:57
帖子: 3025
送出感谢: 0 次
接收感谢: 0 次
好像在sir见过啊。


_________________
独自看一看大海
总想起身边走在路上的朋友
Lenovo E290-420[Celeron-M420/256M/60G/Intel GMA950]


页首
 用户资料  
 
4 楼 
 文章标题 :
帖子发表于 : 2005-07-31 22:11 
头像

注册: 2005-07-01 18:56
帖子: 887
地址: 广州市
送出感谢: 0 次
接收感谢: 3
对,在sir见过,也试用过,但那个文件是下载500首的,用了大量的wget命令!!


_________________
I will be back!


页首
 用户资料  
 
5 楼 
 文章标题 :
帖子发表于 : 2005-07-31 23:20 
论坛管理员

注册: 2005-03-27 0:06
帖子: 10116
系统: Ubuntu 12.04
送出感谢: 7
接收感谢: 128
sir里面的是写死的,不好,寻求可以自动分析的。


_________________
当净其意如虚空,远离妄想及诸取,令心所向皆无碍


页首
 用户资料  
 
6 楼 
 文章标题 : Re: 征求百度新歌top100的自动下载系统
帖子发表于 : 2005-08-01 14:39 
头像

注册: 2005-07-01 18:56
帖子: 887
地址: 广州市
送出感谢: 0 次
接收感谢: 3
oneleaf 写道:
就是自动打开 http://list.mp3.baidu.com/list/newhits.html
提取链接,再打开mp3链接,再下载mp3,如果失败,尝试下一个链接。


呵呵!我试做了第一步直接在以上网址上提取了相关mp3链接!

代码:
#!/bin/sh
wget -O mp3.html http://list.mp3.baidu.com/list/newhits.html

MP3=`sed  -n '/href="http:\/\/mp3.baidu.com*/{p}' mp3.html | sed -e 's/ *//' | sed -e 's/.*href="//' | sed -e 's/" target=_blank>/ /' | sed -e 's/" target="_blank">/ /' | sed -e 's/<.*>//' | sort -u > top100.txt`


_________________
I will be back!


最后由 yonsan 编辑于 2005-08-02 15:57,总共编辑了 1 次

页首
 用户资料  
 
7 楼 
 文章标题 : 转一个脚本,需要继续完善。
帖子发表于 : 2005-08-02 9:56 
论坛管理员

注册: 2005-03-27 0:06
帖子: 10116
系统: Ubuntu 12.04
送出感谢: 7
接收感谢: 128
请将本地语言编码设置成zh_CN.gbk

代码:
#!/bin/bash
#################################################################
#                                #
#        百度MP3歌曲下载工具                #
#    Reort bugs to  Martian < Martian2008@gmail.com >    #
#        Last Update   2005/07/17            #
#                                #
#################################################################                                                             

USAGE="`basename $0`:未指定参数
用法: `basename $0` [选项]\n
请尝试使用“`basename $0` -h”查看更多的选项。"
USAGE2="
GetMP3 <martian2008@gmail.com>百度MP3歌曲下载工具

用法: `basename $0` [选项]\n
选项
   -a      top100|top500|search        选择下载mp3的分类   
   -b      1-max                下载开始曲目数(default 1)
   -e      1-max                下载结束曲目数(default max)
   -g      number            下载指定曲目(id编号)
   -m                    交互式选择下载镜像点
   -o                    覆盖已下载文件
   -u                    更新 top100/top500 数据
   -U                    更新下载镜像
   -c                    清空 search 历史数据
   -l                    打印音乐数据列表
   -s      [strings]            查找歌曲
   -S      [PATH]            自定义文件保存目录
   -p      number            搜索文件深度 1*30
   -f                    自定义文件名,只在交互模式下起作用
   -t     type                指定下载文件类型:mp3 wma swf asf   
"
M=0
O=0
B=1
E=0
L=0
G=0
U=0
F=0
SEARCH=""
WORD=""
TYP=""
LYNX="/usr/bin/lynx"
WGET="/usr/bin/wget"
GET_NUM=102
NUM=1
PAGE=2
SOURCE1="http://list.mp3.baidu.com/list/newhits.html"
SOURCE2="http://list.mp3.baidu.com/topso/mp3topsong.html"
SOURCE3="http://mp3.baidu.com/m?f=ms&rn=&tn=baidump3&ct=134217728&word=WORD&submit=%B0%D9%B6%C8%CB%D1%CB%F7&lm=-1"
TEMP1="${HOME}/.Getmp3/tmp_mp3_list"
TEMP2="${HOME}/.Getmp3/tmp_mp3_list2"
TEMP3="${HOME}/.Getmp3/tmp_mp3_down"
TEMP4="${HOME}/.Getmp3/tmp_mp3_search"
SAVE1="${HOME}/mp3_new100"
SAVE2="${HOME}/mp3_top500"
SAVE3="${HOME}/mp3_search"
export LESSCHARSET=latin1
export LC_ALL=zh_CN.gbk
export LANG=zh_CN.gbk
if [ ! -d "${HOME}/.Getmp3" ];then
    mkdir -p "${HOME}/.Getmp3"
fi

while getopts a:hmuUob:e:lg:s:S:p:ft:c  OPTION;
do
    case "$OPTION" in
        a) S="$OPTARG" ;;
        s) SEARCH="$OPTARG" ;;
        h) echo -e "$USAGE2"
           exit 0;;
        m) M=1;;
             o) O=1;;
             U) U=1;;
             l) L=1;;
             t) TYP="`echo $OPTARG|tr [:upper:] [:lower:]`"
        ;;
             f) F=1;;
        S) if [ -d "$OPTARG" -a -w "$OPTARG" -a -x "$OPTARG" ];then
                   SAVE="$OPTARG"
           else
                echo -en "\\033[0;31m"
             echo -e
             echo "指定目录:${OPTARG} 权限不正确或者该目录不存在"
                  echo -en "\\033[0;39m"
             exit 1;
           fi       
       
        ;;
        b)echo "${OPTARG}"|grep -qE '^[0-9]*?[0-9]*$' && B="${OPTARG}" || B=1
        ;;
        e)echo "${OPTARG}"|grep -qE '^[0-9]*?[0-9]*$' && E="${OPTARG}" || E=0
        ;;
        g)echo "${OPTARG}"|grep -qE '^[1-9]*?[0-9]*$' && G="${OPTARG}" || G=0
        ;;
        p)echo "${OPTARG}"|grep -qE '^[0-9]*?[0-9]*$' && PAGE="${OPTARG}" || PAGE=2
        ;;
        c) rm -rf  "${TEMP4}"*
           echo -en "\\033[0;36m"
           echo  "Search 数据清除完成" 
           echo -en "\\033[0;39m"
           exit 0
        ;;
        u) rm -rf  "${TEMP1}"*
           rm -rf "${TEMP2}"*
           rm -rf "${TEMP3}"*
           echo -en "\\033[0;36m"
           echo "开始下载数据"
           while [ ! -f "${TEMP1}_top100" ]
           do
               $LYNX -source ${SOURCE1} >"${TEMP1}_top100"
           done
           
           while [ ! -f "${TEMP1}_top500" ]
           do
           $LYNX -source ${SOURCE2} >"${TEMP1}_top500"
              done
cat "${TEMP1}_top500" |grep --after-context=1 "<tr bgcolor=\"#FFFFFF\"><td width=\"20%\"><font color=\"#3333CC\">1." |
sed -e 's/<\/a>/\n/g' -e 's/<\/td>//g' -e 's/<\/tr><tr>//g' -e 's/<\/tr><tr bgcolor=\"#FFFFFF\">//g'
     -e 's/<td width=\"20%\"><font color=\"#3333CC\">[0-9]*\.<\/font><a href=\"/http:\/\/list.mp3.baidu.com\/topso\//g'
     -e 's/\" target=_blank>/ /g' -e  '/^$/d'|sed  -e '/<td/d'  >"${TEMP2}_top500"
     
    while [ ${GET_NUM} -gt  0 ]
    do
    cat  "${TEMP1}_top100" |grep --after-context=1 "<div align=\"center\"><font color=\"#3333CC\">${NUM}.</font>" |
    grep --after-context=1 "a href" |sed 's/^$//'| sed  -e 's/<[^>][^>]*>//' -e 's/<\/td>//' -e 's/^ *//'|
    sed -e 's/<a href="//g' -e  's/" target="_blank">/ /g'  -e 's/<\/a>*/ /g'   >> "${TEMP2}_top100"

    NUM=$((${NUM}+1))
    GET_NUM=$((${GET_NUM}-1))
    done
           echo 数据更新完毕
           echo -en "\\033[0;39m"
           exit 0
           ;;
           ?) echo -e "$USAGE"
             exit 1;;
    esac
done

if [ "$#" -eq 0 ] ;then
    echo -e "${USAGE}"
    exit 1
fi
case "${S}" in
    top100) SOURCE="${SOURCE1}"
        : ${SAVE:=${SAVE1}}
        ;;
    top500) SOURCE="${SOURCE2}"
        : ${SAVE:=${SAVE2}}
        ;;

    search) SOURCE="${SOURCE3}"
        : ${SAVE:=${SAVE3}}
        if [ ! -n "${SEARCH}" ];then
            echo "-a search 参数必须附带 -s 选项"
            echo -e
            exit 1   
        else
            WORD="`echo "${SEARCH}" | tr -d "n" | xxd -i | sed -e "s/ 0x/%/g" | tr -d " ,n"`"
            B=1
        fi
        ;;
esac
if [ -z "$SOURCE"  ] ;then
        echo -e "${USAGE}"
        exit 1
fi
TEMP1=${TEMP1}_${S}
TEMP2=${TEMP2}_${S}
TEMP3=${TEMP3}_${S}
TEMP4=${TEMP4}_${WORD}
if [ ! -d "${SAVE}" ];then
    echo -en "\\033[0;36m"
    echo "创建目录"
    echo -en "\\033[0;39m"
    mkdir -p ${SAVE}
fi
#clear
echo -e
echo -en "\\033[0;36m"
echo "正在下载/分析数据"
echo -en "\\033[0;39m"
#rm -rf ${TEMP1}
if [ "${S}" != "search" ];then
while [ ! -f ${TEMP1} ]
do
${LYNX} -source ${SOURCE} >${TEMP1}
done
else touch ${TEMP2}
    echo "test" >${TEMP2}
fi
#rm -rf ${TEMP2}

if [ "${S}" = "top500" ]; then
while [ ! -f "${TEMP2}" ]
do
cat ${TEMP1} |grep --after-context=1 "<tr bgcolor=\"#FFFFFF\"><td width=\"20%\"><font color=\"#3333CC\">1." |
sed -e 's/<\/a>/\n/g' -e 's/<\/td>//g' -e 's/<\/tr><tr>//g' -e 's/<\/tr><tr bgcolor=\"#FFFFFF\">//g'
     -e 's/<td width=\"20%\"><font color=\"#3333CC\">[0-9]*\.<\/font><a href=\"/http:\/\/list.mp3.baidu.com\/topso\//g'
     -e 's/\" target=_blank>/ /g' -e  '/^$/d'|sed  -e '/<td/d'  >${TEMP2}
done
elif   [ "${S}" = "top100" ]; then
      while [ ! -f "${TEMP2}" ]
    do
    while [ ${GET_NUM} -gt  0 ]
    do
    cat  ${TEMP1} |grep --after-context=1 "<div align=\"center\"><font color=\"#3333CC\">${NUM}.</font>" |
    grep --after-context=1 "a href" |sed 's/^$//'| sed  -e 's/<[^>][^>]*>//' -e 's/<\/td>//' -e 's/^ *//'|
    sed -e 's/<a href="//g' -e  's/" target="_blank">/ /g'  -e 's/<\/a>*/ /g'   >> ${TEMP2}

    NUM=$((${NUM}+1))
    GET_NUM=$((${GET_NUM}-1))
    done
     done
fi
unset NUM
: ${NUM:=${B}}
if [ "${G}"  -gt 0  ] && [  "${S}" != "search" ];then
    NUM="${G}"
    E="${G}"
fi   

while [ -n "`cat ${TEMP2} |sed  -n "${NUM}p"`" ] 
do
    if [ "${E}" -gt 0  -a "${NUM}" -gt "${E}" ] ;then
        if [ "${L}" -eq 1 -o  -n "${SEARCH}"  ]  && [ "${S}" !="search" ] ;then
            echo -e "${LIST}" |less 
        fi   
        exit 0
    fi
    PRE=`cat ${TEMP2} |sed  -n "${NUM}p"`
    PRE=(`echo $PRE`)
    if [ "${S}" = "search" ];then
        SOURCE="`echo ${SOURCE}|sed -e "s/WORD/${WORD}/g"`"
        PRE=(`echo "${SOURCE}" "${SEARCH}"`)
        TEMP3="${TEMP4}"
    fi
  if [ -n "${PRE[0]}" -a  -n "${PRE[1]}" ];then
        if [ -n "${PRE[3]}" ] ;then
            MP3=${PRE[3]}-${PRE[1]}
        else
            MP3=${PRE[1]}
        fi
    MP3=`echo ${MP3} |sed  's/\//_/g'`       
    if [ "${L}" -eq 1 -o  -n "${SEARCH}"  ] && [ "${S}" != "search" ];then
        if [ -n "${SEARCH}" ];then
            SEARCH2=` echo  "${NUM}.    ${MP3}" |grep "${SEARCH}"`
            if [ -n "${SEARCH2}" ];then
                LIST="${LIST}\n ${SEARCH2}"
            fi
            unset SEARCH2
            NUM=$((${NUM}+1))
            continue
        fi
        LIST="${LIST}\n ${NUM}. ${MP3}"
        NUM=$((${NUM}+1))
        continue
    fi
    if [  "${S}" = "search" ];then
    echo -en "\\033[0;36m"
    echo "正在搜索数据: ${SEARCH}"
    else   
    echo -en "\\033[0;36m"
    echo "正在处理数据 ${NUM}. ${MP3}"
    fi
   
    if [ "${U}" -eq 1 ];then
        rm -rf  "${TEMP3}_${NUM}"
    fi
    while [ ! -f "${TEMP3}_${NUM}" -o ! -s "${TEMP3}_${NUM}" ]
    do
    ${LYNX} -source "${PRE[0]}" > "${TEMP3}_${NUM}"
    PAGE_NUM=`cat ${TEMP3}_${NUM} | grep --after-context=1 "<ol><font class=p1>" | sed -e '/<br><br><font class=f9>/d' -e 's/<ol><font class=p1>//g' -e 's/<\/a>/\n/g' -e 's/<\/font>//g'|sed -e '/\[下一页\]/d'|wc -l`
    : ${PAGE_NUM:=1}
    NEXTURL=`cat  ${TEMP3}_${NUM} |grep --after-context=1 "<ol><font class=p1>" | sed -e '/<br><br><font class=f9>/d' -e 's/<ol><font class=p1>//g' -e 's/<\/a>/\n/g' -e 's/<\/font>//g' |grep "[下一页]" |sed -e 's/&nbsp\;<a href=//g' -e 's/>\[下一页\]//'`
    echo -en "\\033[0;34m"
    if [ "${PAGE_NUM}" -eq 0 ];then
        echo "没有找到数据"
        rm -rf "${TEMP3}_${NUM}"
        exit 0
    fi
    echo "正在处理第1页数据,统计大约有${PAGE_NUM}页,本次最大处理数${PAGE}页"
    cat "${TEMP3}_${NUM}" |grep --before-context=0  --after-context=1 "<td class=r1>" |
        sed -e '/<\/script>*/d' -e '/--/d'|sed -e 's/\" target=_blank><font style=color:#e10900>/ /g' -e 's/<\/font><\/td>//g' -e 's/<\/a><br><font color=\"#999999\" class=f10>//g' -e 's/<font style=color:#e10900>[^>][^>]*<[^<]*//g' -e 's/<a href=\"//g' -e 's/ - / /g' -e 's/" target=_blank>/ /g' -e 's/<\/font>//g' > "${TEMP3}_${NUM}"
   
    #sed -e '/<\/script>*/d' -e '/--/d'| \
           #sed -e 's/<font[^>][^>].*//g' -e 's/" target=.*//g' -e 's/^.*<a href="//g' >"${TEMP3}_${NUM}"
    NUM4=2
   
    while [ "${PAGE}" -ge "${NUM4}"  -a  "${PAGE_NUM}" -gt 1 -a -n "${NEXTURL}" ]
    do
        ${LYNX} -source "${NEXTURL}" >"${TEMP3}_${NUM}_c"
            ret=$?
            if [ $ret -ne 0 ]; then
            echo -en "\\033[0;31m"
            echo "无法获取数据,搜索中止!"
            echo -en "\\033[0;31m"
            break
        fi   
           PAGE_NUM=`cat "${TEMP3}_${NUM}_c" | grep --after-context=1 "<ol><font class=p1>" | sed -e '/<br><br><font class=f9>/d' -e 's/<ol><font class=p1>//g' -e 's/<\/a>/\n/g' -e 's/<\/font>//g'|sed -e '/\[上一页\]/d'|sed -e '/\[下一页\]/d'|wc -l`
           : ${PAGE_NUM:=1}
           NEXTURL=`cat  "${TEMP3}_${NUM}_c" |grep --after-context=1 "<ol><font class=p1>" | sed -e '/<br><br><font class=f9>/d' -e 's/<ol><font class=p1>//g' -e 's/<\/a>/\n/g' -e 's/<\/font>//g'|sed -e '/\[上一页\]/d' |grep "[下一页]" |sed -e 's/&nbsp\;<a href=//g' -e 's/>\[下一页\]//'`
    echo "正在处理第${NUM4}页数据,统计大约有${PAGE_NUM}页,本次最大处理数${PAGE}页"
    cat "${TEMP3}_${NUM}_c" |grep --before-context=0  --after-context=1 "<td class=r1>" |
        sed -e '/<\/script>*/d' -e '/--/d'|sed -e 's/\" target=_blank><font style=color:#e10900>/ /g' -e 's/<\/font><\/td>//g' -e 's/<\/a><br><font color=\"#999999\" class=f10>//g' -e 's/<font style=color:#e10900>[^>][^>]*<[^<]*//g' -e 's/<a href=\"//g' -e 's/ - / /g' -e 's/" target=_blank>/ /g' -e 's/<\/font>//g' >> "${TEMP3}_${NUM}"   
    #sed -e '/<\/script>*/d' -e '/--/d'| \
           #sed -e 's/<font[^>][^>].*//g' -e 's/" target=.*//g' -e 's/^.*<a href="//g' >>"${TEMP3}_${NUM}"
    rm -rf "${TEMP3}_${NUM}_c"
    NUM4=$((${NUM4}+1))
    done   
   
    echo -en "\\033[0;39m"
   
    echo -en "\\033[0;34m"
    echo "总共搜索到`cat "${TEMP3}"_"${NUM}" |wc -l` 个下载文件"
    done

    if [ -n "${TYP}" ]; then
    echo "正在搜索指定类型数据"
    echo -en "\\033[0;39m"
    while [ ! -f "${TEMP3}_${NUM}_${TYP}_${NUM}" -o ! -s "${TEMP3}_${NUM}_${TYP}_${NUM}" ]
    do
        NUM7=1
        while [ -n "`cat "${TEMP3}_${NUM}" | sed -n "${NUM7}p"`" ]
        do   
          TYP2="`cat "${TEMP3}_${NUM}" | sed -n "${NUM7}p" | cut -d\  -f 1`"
          TYP2="`basename "${TYP2}" |awk -F. '{print $2}'| tr [:upper:] [:lower:]`"
          if [ "${TYP}" = "${TYP2}" ];then
            cat "${TEMP3}_${NUM}" | sed -n "${NUM7}p" >> "${TEMP3}_${NUM}_${TYP}_${NUM}"
              fi
          unset TYP2
        NUM7=$((${NUM7}+1))   
        done           
        break
    done
        if [ ! -f "${TEMP3}_${NUM}_${TYP}_${NUM}" -o ! -s "${TEMP3}_${NUM}_${TYP}_${NUM}" ];then
            echo "在指定类型中没有找到任何数据,使用全部已知类型."
        else 
            echo "在指定类型中总共搜索到`cat "${TEMP3}_${NUM}_${TYP}_${NUM}" |wc -l`个下载文件"
            TEMP3="${TEMP3}_${NUM}_${TYP}"
        fi
    fi
   
    #交互式下载
    if [ "${M}" -eq 1 ];then
        NUM3=1
        SELECT=""
        NUM5=1
        while [ -n "`cat "${TEMP3}_${NUM}" |sed  -n "${NUM3}p"`" -a "${NUM5}" -le 20 ]
        do
            unset P2
                P=(`cat "${TEMP3}_${NUM}" |sed  -n "${NUM3}p"`)
                NUM6=1
                while [ -n "${P[$NUM6]}" ]
                do
                    P2="${P2}|${P[$NUM6]}"
                    NUM6=$((${NUM6}+1))
                done
                SELECT="${SELECT} ${P[0]}|${P2}"
                NUM3=$((${NUM3}+1))
                NUM5=$((${NUM5}+1))
        if [ "${NUM5}" -le 20 -a  -n "`cat "${TEMP3}_${NUM}" |sed  -n "${NUM3}p"`" ];then
            continue
        fi
        if [  "${NUM3}" -gt 21 ];then
            if [ "${NUM3}" -lt 30 ];then
                T_NUM3=1
            else
                T_NUM3=$((${NUM3}-20-${NUM5}+1))
            fi
            SELECT="${SELECT} 上一页|${T_NUM3}"
        fi
           
        if [ "`cat "${TEMP3}_${NUM}" |wc -l`" -gt "${NUM3}" ];then
            SELECT="${SELECT} 下一页|${NUM3}"
        fi
        clear
        echo -en "\\033[0;34m"
        echo "总共搜索到`cat "${TEMP3}"_"${NUM}" |wc -l` 个下载文件"
        echo -en "\\033[0;33m"
        echo "歌曲: ${MP3}"
        echo "请选择下载镜像"
        echo -en "\\033[0;39m"
        select COMPONENT in $SELECT
        do
            if [ -z "${COMPONENT}" ];then
                   echo "该镜像地址不存在"   
                   echo -en "\\033[0;33m"
                   echo "请选择下载镜像 按回车继续"
                           echo -en "\\033[0;39m"
                   continue
               else
                DOWN=`echo "${COMPONENT}" | cut -d\| -f 1 `
                TYPE=`basename "${DOWN}" |awk -F. '{print $2}'`
                if [ -n "`echo "${COMPONENT}" | cut -d\| -f 4 |tr -d ['\r\n']`"  -o 
                     -n "`echo "${COMPONENT}" | cut -d\| -f 5 |tr -d ['\r\n']`" ];then
                  ATTR="`echo -ne "${COMPONENT}" | cut -d\| -f 4  && \
                    echo -ne "${COMPONENT}" | cut -d\| -f 5`"
                  ATTR="(`echo "${ATTR}" |tr -s '\r\n' "-"|sed -e 's/-$//g' `)"
                else
                ATTR=""
                fi
               
                if [ "${DOWN}" = "下一页" -o "${DOWN}" = "上一页" ];then
                    NUM3=`echo "${COMPONENT}" | cut -d\| -f 2 `
                    NUM5=1
                    unset SELECT
                           echo -en "\\033[0;33m"
                           echo "正在跳转到${DOWN}"
                                   echo -en "\\033[0;39m"
                    break
                fi   
         if [ "${F}" -eq 1 ];then
            echo -en "\\033[0;33m"
        while :
        do
         echo "请输入保存的文件名,不需要加扩展名"
         read CMD
          if [ -n "${CMD}" ];then
            echo ${CMD} |grep -qE '^[^\/\~\^\&\*\@\#\$\%\|\!\?\`\.]*$' &&  break ||echo 文件名错误 && continue 
          fi   
        done       
            echo -en "\\033[0;33m"
          fi
                echo -en "\\033[0;36m"
                echo "开始从镜像站点${REPLY}下载载歌曲 ${NUM}.  ${MP3}"
                echo -en "\\033[0;33m"
                MP3=${CMD:=${MP3}}
                echo "文件保存在${SAVE}"
                echo -en "\\033[0;39m"
                if [ "${O}" -eq 1 ];then
                      rm -rf "${SAVE}/${MP3}${ATTR}.${TYPE}"
                      fi                                           
            fi
                                                   
                if [ -f "${SAVE}/${MP3}${ATTR}.${TYPE}" ];then
                    echo -en "\\033[0;31m"
                    echo "文件: ${SAVE}/${MP3}${ATTR}.${TYPE} 已存在,下载中止"
                    echo -e
                    echo -en "\\033[0;39m"
                    unset  TYPE DOWN
                    break
                fi

                echo $ATTR
                ${WGET} -t 1 -N  -O "${SAVE}/${MP3}${ATTR}.${TYPE}"  ${DOWN}   
                    ret=$?
                    if [ $ret -eq 0 ]; then
                    if [ -n "`file -b "$SAVE/${MP3}${ATTR}.${TYPE}" |grep ASCII`" ];then
                        echo -en "\\033[0;36m"
                        echo "跟随至新的URL"
                        echo -en "\\033[0;39m"
                        DOWN="`cat "$SAVE/${MP3}${ATTR}.${TYPE}"|sed -n 1p`"
                        TYPE=`basename "${DOWN}" |awk -F. '{print $2}'`
                        ${WGET} -t 1 -N  -O "${SAVE}/${MP3}${ATTR}.${TYPE}"  ${DOWN}
                        ret=$?
                        if [ $ret -ne 0 ];then
                                             echo -en "\\033[0;31m"
                                 echo "下载失败!"
                             echo -e
                             echo -en "\\033[0;39m"
                             continue
                        fi
                    fi
                       
                    if [ "`file -b "$SAVE/${MP3}${ATTR}.${TYPE}"`" = "empty" ] ||
                       [  "`file -b "$SAVE/${MP3}${ATTR}.${TYPE}"`" = "HTML document text" ];then
                    rm -rf ${SAVE}/${MP3}${ATTR}.${TYPE}
                    echo -en "\\033[0;31m"
                    echo "下载失败!"
                    echo -e
                    echo -en "\\033[0;39m"
                           echo -en "\\033[0;33m"
                           echo "请选择下载镜像 按回车继续"
                                   echo -en "\\033[0;39m"
                    unset TYPE DOWN
                    continue
                    fi
                    unset TYPE DOWN
                    break
                else
                    rm -rf ${SAVE}/${MP3}${ATTR}.${TYPE}
                    echo -en "\\033[0;31m"
                    echo "下载失败!"
                    echo -e
                    echo -en "\\033[0;39m"
                           echo -en "\\033[0;33m"
                           echo "请选择下载镜像 按回车继续"
                                   echo -en "\\033[0;39m"
                    unset TYPE DOWN
                    continue
                fi
               
        done
    done
    else               
    NUM2=1   
    while [ -n "`cat "${TEMP3}_${NUM}" |sed  -n "${NUM2}p"`" ]
    do           
        URL=`cat "${TEMP3}_${NUM}"|sed  -n "${NUM2}p"| cut -d\ -f 1`
        TYPE=`basename "${URL}" |awk -F. '{print $2}'`
        echo -en "\\033[0;34m"
        echo "总共搜索到`cat "${TEMP3}"_"${NUM}" |wc -l` 个下载文件"
        echo -en "\\033[0;36m"
        echo "开始下载歌曲 ${NUM}.  ${MP3}"   
        echo -en "\\033[0;33m"
        echo "文件保存在: ${SAVE}"
        echo -en "\\033[0;39m"
        if [ "${O}" -eq 1 ];then
            rm -rf "${SAVE}/${MP3}.${TYPE}"
        fi
        if [ -f "${SAVE}/${MP3}.${TYPE}" ];then
            echo -en "\\033[0;31m"
            echo "文件: ${SAVE}/${MP3}.${TYPE} 已存在,下载中止"
            echo -e
            echo -en "\\033[0;39m"
            unset URL TYPE
            break
        fi
        ${WGET} -t 1 -N  -O ${SAVE}/${MP3}.${TYPE} ${URL}   
            ret=$?
            if [ $ret -eq 0 ]; then
            if [ -n "`file -b "$SAVE/${MP3}${ATTR}.${TYPE}" |grep ASCII`" ];then
                echo -en "\\033[0;36m"
                echo "跟随至新的URL"
                echo -en "\\033[0;39m"
                URL="`cat "$SAVE/${MP3}${ATTR}.${TYPE}"|sed -n 1p`"
                TYPE=`basename "${DOWN}" |awk -F. '{print $2}'`
                ${WGET} -t 1 -N  -O "${SAVE}/${MP3}${ATTR}.${TYPE}"  ${URL}
                ret=$?
                    if [ $ret -ne 0 ];then
                                     echo -en "\\033[0;31m"
                     echo "下载失败!"
                     echo -e
                     echo -en "\\033[0;39m"
                    fi
            fi

            if [ "`file -b "$SAVE/${MP3}${ATTR}.${TYPE}"`" = "empty" ] ||
                   [  "`file -b "$SAVE/${MP3}${ATTR}.${TYPE}"`" = "HTML document text" ];then
                rm -rf ${SAVE}/${MP3}${ATTR}.${TYPE}
                echo -en "\\033[0;31m"
                echo "下载失败!"
                echo -e
                echo -en "\\033[0;39m"
                else
                    unset URL TYPE
                    break
            fi
        else
            rm -rf ${SAVE}/${MP3}.${TYPE}
            echo -en "\\033[0;31m"
            echo "下载失败!"
            echo -e
            echo -en "\\033[0;39m"
            unset URL TYPE
        fi
         NUM2=$((${NUM2}+1))
     done
          fi
               
    fi
    NUM=$((${NUM}+1))
    unset PRE MP3
done   
if [ "${L}" -eq 1 -o -n "${SEARCH}" ] && [ "${S}" != "search" ];then
    echo -e "${LIST}" |less
fi


_________________
当净其意如虚空,远离妄想及诸取,令心所向皆无碍


页首
 用户资料  
 
8 楼 
 文章标题 :
帖子发表于 : 2005-08-03 16:23 
头像

注册: 2005-05-19 18:38
帖子: 1991
地址: 湖南永州
送出感谢: 0 次
接收感谢: 1
./downlocal -u
开始下载数据
./downlocal: line 114: /usr/bin/lynx: 没有那个文件或目录
./downlocal: line 119: /usr/bin/lynx: 没有那个文件或目录
./downlocal: line 123: -e: command not found
./downlocal: line 124: -e: command not found


页首
 用户资料  
 
9 楼 
 文章标题 :
帖子发表于 : 2005-08-03 16:27 
论坛管理员

注册: 2005-03-27 0:06
帖子: 10116
系统: Ubuntu 12.04
送出感谢: 7
接收感谢: 128
嘿嘿,不是说还要完善嘛,并且不支持UTF-8


_________________
当净其意如虚空,远离妄想及诸取,令心所向皆无碍


页首
 用户资料  
 
10 楼 
 文章标题 :
帖子发表于 : 2005-08-28 9:40 
论坛管理员

注册: 2005-03-27 0:06
帖子: 10116
系统: Ubuntu 12.04
送出感谢: 7
接收感谢: 128
基本完成.
http://forum.ubuntu.org.cn/viewtopic.php?p=13552#13552


_________________
当净其意如虚空,远离妄想及诸取,令心所向皆无碍


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 10 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 1 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译