我想从网站下载一系列页面。Shell脚本下载所有网页?
的URL
将格式为:http://example.com/x
其中x
可以来自任何100
向number
200
。
是否有任何可能的脚本可用于下载所有页面,范围从example.com/100
到example.com/200
?
我想从网站下载一系列页面。Shell脚本下载所有网页?
的URL
将格式为:http://example.com/x
其中x
可以来自任何100
向number
200
。
是否有任何可能的脚本可用于下载所有页面,范围从example.com/100
到example.com/200
?
for x in {100..200}; do
wget "http://example.com/$x"
done
如果您已经安装curl
,您可能需要使用相对高效的方式如下:
curl -O 'http://example.com/[100-200]'
(是的,我知道,curl
是真的很酷!)。
更快的版本不冒险与突破更复杂的URL不正确引用:
for x in {100..200}; do
wget 'http://example.com/'"$x" &
done
wait
目前还不清楚,服务器会感激你发送100个同时请求。浏览器往往会将自己限制为像4个并发连接到服务器的东西。 – Barmar
我更喜欢:'wget的“http://example.com/'$x&' – BeniBela
我喜欢演示的习惯引用变量,除非你想让他们进行分词和通配符。我知道这个脚本并不是一个问题,但这意味着他不太可能在引用变量的其他脚本中遇到问题。 – Barmar
感谢Barmar始终引用,并且即使不是绝对必要,也显示出这种良好的做法。 @BeniBela:总是用引号! –