Bash 批量下载时出现HTTP 503错误

Bash 批量下载时出现HTTP 503错误,bash,http,download,wget,http-error,Bash,Http,Download,Wget,Http Error,网站上的完整pdf不可供公众使用。任何人都可以下载单个页面。因此,我使用bashfor循环下载它 for i in {1..364} do wget -O $i.pdf "http://babel.hathitrust.org/cgi/imgsrv/download/pdf?id=njp.32101015068578;orient=0;size=100;seq=$i;attachment=0" done 不幸的是,在下载了16页之后,我开始 ERROR 503: Service

网站上的完整pdf不可供公众使用。任何人都可以下载单个页面。因此,我使用bash
for
循环下载它

for i in {1..364}
do 
     wget  -O $i.pdf "http://babel.hathitrust.org/cgi/imgsrv/download/pdf?id=njp.32101015068578;orient=0;size=100;seq=$i;attachment=0"
done
不幸的是,在下载了16页之后,我开始

ERROR 503: Service Unavailable
如果我将wget更改为curl,则会收到错误消息。起初,尝试后的时间是5分钟


一个解决办法是每16页增加5分钟的睡眠时间。但是有更好的解决方法吗?

这个命令在bash提示符下工作吗<代码>wget-O 1.pdfhttp://webpage.com/downloadpdf?page=1?您确定没有登录要求吗?是的,已正确下载约15页。在等待了相当长的时间(>15分钟)之后,第16页、第17页,。。。也可以正确下载。请尝试在(
$i modulo 5==0)时设置睡眠。也许你正在被验证码或类似的检查所挑战。这也没用。我将睡眠延迟增加到5秒。即使我添加了
--user agent=“Mozilla/5.0(X11;Ubuntu;Linux x86\u 64;rv:38.0)Gecko/20100101 Firefox/38.0”
,这个错误也只会出现在wget中。在浏览器中,链接按其应有的方式打开。您可以通过wget手动下载第18-100页吗?跳过循环部分。。。另外,除了
wget
curl
可以为您提供更多选项,如参考页面等。EDIT:看起来wget也很强大……这个命令在bash提示符下工作吗<代码>wget-O 1.pdfhttp://webpage.com/downloadpdf?page=1
?您确定没有登录要求吗?是的,已正确下载约15页。在等待了相当长的时间(>15分钟)之后,第16页、第17页,。。。也可以正确下载。请尝试在(
$i modulo 5==0)时设置睡眠。也许你正在被验证码或类似的检查所挑战。这也没用。我将睡眠延迟增加到5秒。即使我添加了
--user agent=“Mozilla/5.0(X11;Ubuntu;Linux x86\u 64;rv:38.0)Gecko/20100101 Firefox/38.0”
,这个错误也只会出现在wget中。在浏览器中,链接按其应有的方式打开。您可以通过wget手动下载第18-100页吗?跳过循环部分。。。另外,除了
wget
curl
可以为您提供更多选项,如参考页面等。EDIT:看起来wget也很强大……这个命令在bash提示符下工作吗<代码>wget-O 1.pdfhttp://webpage.com/downloadpdf?page=1
?您确定没有登录要求吗?是的,已正确下载约15页。在等待了相当长的时间(>15分钟)之后,第16页、第17页,。。。也可以正确下载。请尝试在(
$i modulo 5==0)时设置睡眠。也许你正在被验证码或类似的检查所挑战。这也没用。我将睡眠延迟增加到5秒。即使我添加了
--user agent=“Mozilla/5.0(X11;Ubuntu;Linux x86\u 64;rv:38.0)Gecko/20100101 Firefox/38.0”
,这个错误也只会出现在wget中。在浏览器中,链接按其应有的方式打开。您可以通过wget手动下载第18-100页吗?跳过循环部分。。。另外,
curl
可以代替
wget
,为您提供更多选项,如参考页面等。编辑:看起来wget也很强大。。。