自动下载百度新歌的脚本

sh/bash/dash/ksh/zsh等Shell脚本
头像
oneleaf
论坛管理员
帖子: 10455
注册时间: 2005-03-27 0:06
系统: Ubuntu 12.04

#46

帖子 oneleaf » 2005-09-16 11:01

如果下载失败,也会陷入死循环,并且下载失败,删除了文件,而下面又对文件进行检查,这样也有问题。你可以看看我修改的。
头像
yonsan
帖子: 887
注册时间: 2005-07-01 18:56
来自: 广州市

#47

帖子 yonsan » 2005-09-16 11:30

oneleaf 写了:如果下载失败,也会陷入死循环,并且下载失败,删除了文件,而下面又对文件进行检查,这样也有问题。你可以看看我修改的。
:o 一叶,又来麻烦你了, 因为我的中断下载处理方法与你不同,发现在我的脚本中用你那种形式会在下载失mp3失败后生成了一个0 k大小的mp3文件,所以还是要采用其它方法, 现在修改成以下形式如何?

代码: 全选

#优先下载mp3格式的歌曲
   while((j<=downline_mp3));
   do
      mp3=$(awk 'NR=='"$j"'' ${SAVE}/down_mp3.txt);
      echo -e "\e[1;6m\e[1;34m正在下载${name}.mp3 ... \e[1;6m\e[00m";
#如果文件已经存在则略过,不会覆盖已经存在的文件
      wget --no-clobber --no-directories --timeout=${TIMEOUT} --tries=${TRYCOUNT} $mp3 -O "${SAVE}/${name}.mp3";
#若$?不等于0,则下载失败.
	  if [ "$?" -ne 0 ];
	  then
	  	echo -e "\e[1;6m\e[1;31m发现 ${name}.mp3 文件无效,正在删除重新下载...\e[1;6m\e[00m";
		rm -Rfv "${SAVE}/${name}.mp3";
#使用同一首歌的下一个有效地址重新下载
		((j++));
	  else
#如果下载文件是有效的mp3则转向下载其它歌
	  	if [ $(file -ib "${SAVE}/${name}.mp3" | sed -e 's/\/.*//g') = "audio" ];
	  	then
	  		echo -e "\e[1;6m\e[1;31m检测 ${name}.mp3 文件有效,转向下载其它歌曲...\e[1;6m\e[00m";
#设置歌曲下载完毕标记
	  		downed=1;
	  		break;
	  	else
	  		echo -e "\e[1;6m\e[1;31m发现已成功下载的 ${name}.mp3 文件无效,正在删除重新下载...\e[1;6m\e[00m";
	  		rm -Rfv "${SAVE}/${name}.mp3";
#使用同一首歌的下一个有效地址重新下载
	  		((j++));
		fi
	  fi
   done
上次由 yonsan 在 2005-09-16 12:15,总共编辑 1 次。
头像
oneleaf
论坛管理员
帖子: 10455
注册时间: 2005-03-27 0:06
系统: Ubuntu 12.04

#48

帖子 oneleaf » 2005-09-16 11:34

这样就没有问题了。
头像
yonsan
帖子: 887
注册时间: 2005-07-01 18:56
来自: 广州市

#49

帖子 yonsan » 2005-09-16 12:17

:o 发现有些wma是用“video“ 而不是"audio"

脚本文件放到svn 服务器上修改方便! 呵呵!
头像
firehare
帖子: 2625
注册时间: 2005-04-10 16:54
来自: 温州大学
联系:

#50

帖子 firehare » 2005-09-17 23:30

一叶兄,使用你的脚本还是有问题:

代码: 全选

获取  下载列表完成。
发现 1 个名为 .mp3 下载地址。
发现 4 个名为 .wma 下载地址。
--23:24:34--  http://fs21.139.com/0/224/hot072/sound/2005941553762.mp3
           => `/tmp/firehare/.mp3'
正在解析主机 fs21.139.com... 219.134.132.200
正在连接 fs21.139.com[219.134.132.200]:80... 已连接。
已发出 HTTP 请求,正在等待回应...
读取文件头错误 (Connection reset by peer)。
重试中。

--23:24:35--  http://fs21.139.com/0/224/hot072/sound/2005941553762.mp3
  (尝试次数: 2) => `/tmp/firehare/.mp3'
正在连接 fs21.139.com[219.134.132.200]:80... 已连接。
已发出 HTTP 请求,正在等待回应...
读取文件头错误 (Connection reset by peer)。
已放弃。

下载 .mp3 文件无效,正在删除重新下载
正在下载.wma
--23:24:36--  http://219.149.122.178/050606/v999-/t4813/8.wma
           => `/tmp/firehare/.wma'
正在连接 219.149.122.178:80... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:1,982,373 [audio/x-ms-wma]

100%[====================================>] 1,982,373    114.21K/s    ETA 00:00
23:24:54 (103.99 KB/s) - `/tmp/firehare/.wma' saved [1,982,373/1,982,373]

下载  成功
./dlmp3: command substitution: line 77: unexpected EOF while looking for matching `''
./dlmp3: command substitution: line 78: syntax error: unexpected end of file
发现  下载过,忽略,继续下一首。
77-79代码如下:

代码: 全选

sed -e 's/<\/a>//g' | sed -e 's/\//-/g' | sed -e 's/:/-/g'  | sed -e 's/\"/\'/g'  | cat`

   #检查是否已经下载过这首歌,如果下载过,放弃
我心无畏,源自于我心无知。
图片
头像
oneleaf
论坛管理员
帖子: 10455
注册时间: 2005-03-27 0:06
系统: Ubuntu 12.04

#51

帖子 oneleaf » 2005-09-18 1:14

已经彻底修正:

原:是希望使用'来替换"
sed -e 's/\"/\'/g'

上面语法错误。

sed -e 's/"/'\''/g'

单引号中的字符串,除不能出现单引号(因为表示串引用结束)或\外,其它都被保护。此时显示单引号,可采取先结束前面的串,再用双引号显示一个单引号或用\转义一个单引号,后面再用单引号串。
头像
firehare
帖子: 2625
注册时间: 2005-04-10 16:54
来自: 温州大学
联系:

#52

帖子 firehare » 2005-09-18 10:54

哦!明白了!
再问一下,是否双引号下无此问题?
我心无畏,源自于我心无知。
图片
头像
oneleaf
论坛管理员
帖子: 10455
注册时间: 2005-03-27 0:06
系统: Ubuntu 12.04

#53

帖子 oneleaf » 2005-09-18 12:47

双引号也许没有问题。没有测试过。
头像
firehare
帖子: 2625
注册时间: 2005-04-10 16:54
来自: 温州大学
联系:

#54

帖子 firehare » 2005-09-18 14:13

:)
我心无畏,源自于我心无知。
图片
头像
smallwolf
帖子: 195
注册时间: 2005-09-14 21:39

#55

帖子 smallwolf » 2005-09-18 20:59

在几位的精华帖子里问一个与主题无关的问题,请不要介意啊 :)

请教几位达人,我比较喜欢程序 比如象各位编写的这个 觉得很有意思 如果想学的话 需要怎么起步呢?

如果我想转行进入计算机行业 可以吗?
ps: 没有编程经验 只是很感兴趣 想以此为职业 可以吗?

如果想从事的职业和linux有关 那么要学什么是比较有需求呢 如果是写程序呢?

我现在其实很迷茫的 一面是自己喜欢的 一面是自己的专业 一面是自己没什么基础的 一面是虽然学了几年 但不愿意学 结果什么都没学到的

最后 自己什么都不会 不被需要 真的很痛苦啊

可以给我些意见吗? 谢谢!

再一次为在各位的帖子里发和主题无关的帖子而抱歉!

:bow
zoya
帖子: 38
注册时间: 2005-09-29 9:16
联系:

#56

帖子 zoya » 2005-10-06 1:51

谢谢几位大牛!
刚刚用了一下很不错的!
谢谢啦 :)
init 7 #Crazy mode
X61 T500
头像
firehare
帖子: 2625
注册时间: 2005-04-10 16:54
来自: 温州大学
联系:

#57

帖子 firehare » 2005-10-28 11:57

好象百度有相应的调整,好象所有的歌曲都下不了了!

代码: 全选

开始通过 http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=2&word=%D2%B9%C7%FA%20%D6%DC%BD%DC%C2%D7 下载 夜曲-周杰伦
--11:50:15--  http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=2&word=%D2%B9%C7%FA%20%D6%DC%BD%DC%C2%D7
           => `/tmp/firehare/down.html'
正在解析主机 mp3.baidu.com... 61.135.145.218
Connecting to mp3.baidu.com|61.135.145.218|:80... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度: 未指定 [text/html]

    [    <=>                              ] 59,882        81.58K/s

11:50:18 (81.33 KB/s) - `/tmp/firehare/down.html' saved [59882]

获取 夜曲-周杰伦 下载列表完成。
发现 0 个名为 夜曲-周杰伦.mp3 下载地址。
发现 0 个名为 夜曲-周杰伦.wma 下载地址。
下载 夜曲-周杰伦 失败
全部都是0个!
我心无畏,源自于我心无知。
图片
头像
onlysai
帖子: 62
注册时间: 2006-08-22 16:42
来自: 广东省广州市

#58

帖子 onlysai » 2006-09-06 19:06

受教啦!
放飞心情,用最真的语言舞动最真的心......
>>梦之海豚,请勇往直前-->我的Blog
头像
bones7456
帖子: 8495
注册时间: 2006-04-12 20:05
来自: 杭州
联系:

#59

帖子 bones7456 » 2006-10-07 10:36

按照本帖一楼的脚本运行,得到的却是:

代码: 全选

开始通过 <td width=17% height=28 bgcolor=#FFFFFF class=border>http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=2&word=%B0%B5%D7%E0+%C4%CF%C8%AD%C2%E8%C2%E8 下载 暗奏-南拳妈妈)
--09:40:51--  http://%3Ctd/
           => `/tmp/lly/down.html'
正在解析主机 <td... 失败:Name or service not known。
--09:40:51--  http://width=17%25/
           => `/tmp/lly/down.html'
正在解析主机 width=17%... 失败:Name or service not known。
--09:40:51--  http://height=28/
           => `/tmp/lly/down.html'
正在解析主机 height=28... 失败:Name or service not known。
--09:40:51--  http://bgcolor=/
           => `/tmp/lly/down.html'
正在解析主机 bgcolor=... 失败:Name or service not known。
class=border>http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=2&word=%B0%B5%D7%E0+%C4%CF%C8%AD%C2%E8%C2%E8: 不支持的主题.

下载完毕 --09:40:51--
下载了:0 字节,共 0 个文件
获取 暗奏-南拳妈妈) 下载列表完成。
发现 0 个名为 暗奏-南拳妈妈).mp3 下载地址。
发现 0 个名为 暗奏-南拳妈妈).wma 下载地址。
下载 暗奏-南拳妈妈) 失败
是不是百度改版了阿?
头像
bones7456
帖子: 8495
注册时间: 2006-04-12 20:05
来自: 杭州
联系:

#60

帖子 bones7456 » 2006-10-07 15:32

哈哈,这个脚本已经被我改过了,又可以下载了,详情请见:trackback.php?e=1625
回复