这样的文件怎么用wget下载?

系统安装、升级讨论
版面规则
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
c_charles
帖子: 211
注册时间: 2008-09-22 12:58

这样的文件怎么用wget下载?

#1

帖子 c_charles » 2009-07-25 10:53

路径:(页面A:文件目录)——》下载页面B(每个文件的下载页面地址不同,但是使用同一个链接title【如:XXX主力下载站点】)——》下载文件(文件名为:*.rar)

请问如何用wget批量下载页面A中的所有文件?

如果【XXX主力下载站点】中指向的下载文件和页面A、B在同一主机下,如何用wget获得?
如果【XXX主力下载站点】中指向的下载文件指向了其他主机,如何用wget获得文件?
头像
highwind
帖子: 1362
注册时间: 2008-09-05 23:31
系统: LinuxMint17

Re: 这样的文件怎么用wget下载?

#2

帖子 highwind » 2009-07-25 17:45

:em05 那您在win下是如何完成的呢?
头像
peakgg
帖子: 1122
注册时间: 2006-10-10 9:40

Re: 这样的文件怎么用wget下载?

#3

帖子 peakgg » 2009-07-25 17:51

wget不能识别这个的吧
LZ可以写个脚本先把这些地址识别出来再用wget下
c_charles
帖子: 211
注册时间: 2008-09-22 12:58

Re: 这样的文件怎么用wget下载?

#4

帖子 c_charles » 2009-07-25 17:52

嘿嘿,请你也顺便告诉我在win下如何完成吧。

俺用的笨办法,太丢人了,不说也罢。不是看着广告说wget超级厉害么,就想试试。
c_charles
帖子: 211
注册时间: 2008-09-22 12:58

Re: 这样的文件怎么用wget下载?

#5

帖子 c_charles » 2009-07-25 18:00

peakgg 写了:wget不能识别这个的吧
LZ可以写个脚本先把这些地址识别出来再用wget下
本人只初识wget,会简单使用。脚本认识我,我不认识它 :em06

我想,既然wget可以镜像网站。是否可以设定网页的层次,沿着链接的指向把文件下来呢。试过很多次,每次都只能到“下载页面”,再也不能继续深入到具体文件了。

请教请教
头像
xieshaohu
帖子: 1565
注册时间: 2007-10-24 20:20
来自: 北京、海淀
联系:

Re: 这样的文件怎么用wget下载?

#6

帖子 xieshaohu » 2009-07-25 18:01

看那个页面的源代码,把所有的下载地址Copy出来,然后在 http://之前加上wget,
然后再执行这个脚本,就OK了。
Dell Vostro 1500, T7300/4GB/WD5000BEVT/nVidia 8400GM, Ubuntu 10.04 x86_64/VMware 7(Win7)
我的博客:http://xieshaohu.wordpress.com/
头像
冲浪板
论坛版主
帖子: 7513
注册时间: 2007-05-06 8:19

Re: 这样的文件怎么用wget下载?

#7

帖子 冲浪板 » 2009-07-25 18:04

wget -i list.at -c -r -nd -l2 -np -b -t 50 -T 30 -w 30 -A rar
c_charles
帖子: 211
注册时间: 2008-09-22 12:58

Re: 这样的文件怎么用wget下载?

#8

帖子 c_charles » 2009-07-25 22:39

xieshaohu 写了:看那个页面的源代码,把所有的下载地址Copy出来,然后在 http://之前加上wget,
然后再执行这个脚本,就OK了。
这个没看懂 :em06

如果需要人工把地址一个个拷贝下来,就不用麻烦了。直接 wget http://…… 或者用文件导入地址列表(-i 参数)不就行了?
上次由 c_charles 在 2009-07-25 22:43,总共编辑 1 次。
c_charles
帖子: 211
注册时间: 2008-09-22 12:58

Re: 这样的文件怎么用wget下载?

#9

帖子 c_charles » 2009-07-25 22:41

冲浪板 写了:wget -i list.at -c -r -nd -l2 -np -b -t 50 -T 30 -w 30 -A rar
无效 :em06

在其后加目录页面地址后,死循环。还是我用错了?

举例地址:http://www.tzsy.cn/subject/czkx/cykxja/
arserangel
帖子: 97
注册时间: 2007-02-09 8:33
来自: 深圳福田

Re: 这样的文件怎么用wget下载?

#10

帖子 arserangel » 2009-07-26 7:36

先把A页面下下来,然后用正则把要下载的地址全读出来,存成文件,然后用wget把文件里的东西作为列表下载。
头像
peachcolor
帖子: 898
注册时间: 2006-05-20 14:03

Re: 这样的文件怎么用wget下载?

#11

帖子 peachcolor » 2009-07-26 8:54

我觉得楼主的脚本功力不一定看得懂各位的回答
c_charles
帖子: 211
注册时间: 2008-09-22 12:58

Re: 这样的文件怎么用wget下载?

#12

帖子 c_charles » 2009-07-26 10:46

peachcolor 写了:我觉得楼主的脚本功力不一定看得懂各位的回答
9494,俺脚本功力肉的很。 :em06 :em06

如果有大大能把上面的例子做个现成的脚本,俺参考参考,再依葫芦画瓢努力学习脚本和正则。 :em02
头像
冲浪板
论坛版主
帖子: 7513
注册时间: 2007-05-06 8:19

Re: 这样的文件怎么用wget下载?

#13

帖子 冲浪板 » 2009-07-26 11:14

c_charles 写了:
冲浪板 写了:wget -i list.at -c -r -nd -l2 -np -b -t 50 -T 30 -w 30 -A rar
无效 :em06

在其后加目录页面地址后,死循环。还是我用错了?

举例地址:http://www.tzsy.cn/subject/czkx/cykxja/
试试
wget http://www.tzsy.cn/subject/czkx/cykxja/index.html -c -r -nd -l3 -np -b -t 50 -T 30 -w 30 -A rar,html[/quote]

btw:这个下载完了怎么辨认文件啊?
另外看看http://www.tzsy.cn/subject/czkx/cykxja/index.htm,哪个资源是你要的
c_charles
帖子: 211
注册时间: 2008-09-22 12:58

Re: 这样的文件怎么用wget下载?

#14

帖子 c_charles » 2009-07-26 14:06

试试
wget http://www.tzsy.cn/subject/czkx/cykxja/index.html -c -r -nd -l3 -np -b -t 50 -T 30 -w 30 -A rar,html[/quote]

btw:这个下载完了怎么辨认文件啊?
另外看看http://www.tzsy.cn/subject/czkx/cykxja/index.htm,哪个资源是你要的[/quote]

谢谢你的代码,但是我还是没有得到所需的文件。得到的是下载log文件和一批html文件。 :em06

正常应该是这样:在该页面(http://www.tzsy.cn/subject/czkx/cykxja/)点击一个文件目录链接(如:[七上]1.2实验和观察教案),进入一个下载页面(http://www.tzsy.cn/subject/czkx/cykxja/ ... 91152.html),在该下载页面中有下载链接(如:【1号电信服务器下载】http://d1.tzsy.cn/uploads/subject_kj/65 ... 877801.rar),下载得到所需的rar文件。

注意到下载服务器域名和引用页的域名不一致,是否wget参数不正确而不能正确下载到文件?

我想改事例对wget的批量下载应该有一定代表性。如果能正常实现,应该能大幅提高多文件下载的效率的。
头像
冲浪板
论坛版主
帖子: 7513
注册时间: 2007-05-06 8:19

Re: 这样的文件怎么用wget下载?

#15

帖子 冲浪板 » 2009-07-26 18:16

加参数"-H",(和-L相反); 并且要去掉“-np”

btw:这些*.html包含链接,可以被利用:用-i <file>;
而且提取http://d1.tzsy.cn/uploads/subject_kj/657/200882410292871877801.rar的话,可以少下一次(每文件不是有两连接的?虽然已经用参数禁止下两个一样的文件...)

html还需要整理整理,呵呵,如:
cat 24-191133.html | grep 电信服务器下载 | grep 1号电信服务器下载

把他们收集起来:
cat 24-191133.html | grep 1号电信服务器下载 | awk '/http/{print $3}' | awk -F \" '{print $2}'

cat *.html | grep 1号电信服务器下载 | awk '/http/{print $3}' | awk -F \" '{print $2}'

也可以简化
cat *.html | awk '/1号电信服务器下载/{print $3}' | awk -F \" '{print $2}'
回复