2016-05-12 87 views
0

在url here上有大量的zip文件需要下载并保存到test/files/downloads目录中。我使用wget与提示如何使用wget将大量zip文件下载到网址

wget -i http://bitly.com/nuvi-plz -P test/files/downloads

和它下载整个页面到目录中的文件,并开始下载每个zip文件,但后来给了我一个404的,看起来像

每个文件
2016-05-12 17:12:28-- http://bitly.com/1462835080018.zip 
Connecting to bitly.com|69.58.188.33|:80... connected. 
HTTP request sent, awaiting response... 302 Found 
Location: https://bitly.com/1462835080018.zip [following] 
--2016-05-12 17:12:28-- https://bitly.com/1462835080018.zip 
Connecting to bitly.com|69.58.188.33|:443... connected. 
HTTP request sent, awaiting response... 404 Not Found 
2016-05-12 17:12:29 ERROR 404: Not Found. 

如何让wget正确下载页面上的所有zip文件?

+1

你不能。 '302'是一个重定向。但是新的位置没有zip文件。 – alvits

+0

你可能想试试'wget -i http://feed.omgili.com/5Rh5AMTrc4Pv/mainstream/posts/ -P test/files/downloads'。 – alvits

回答

1

您需要从bit.ly获取重定向,然后下载所有文件。这是真正的丑陋,但它的工作:

wget http://bitly.com/nuvi-plz --server-response -O /dev/null 2>&1 | \ 
    awk '(NR==1){SRC=$3;} /^ Location: /{DEST=$2} END{ print SRC, DEST}' | sed 's|.*http|http|' | \ 
while read url; do 
    wget -A zip -r -l 1 -nd $url -P test/files/downloads 
done 

如果您使用的直接联系,这将工作:

wget -A zip -r -l 1 -nd http://feed.omgili.com/5Rh5AMTrc4Pv/mainstream/posts/ -P test/files/downloads 
+0

太棒了,谢谢!我在哪里可以找到wget的文档? –

+0

'man wget'或'wget --help'或https://www.gnu.org/software/wget/manual/wget.html –