我正在使用终端的CURL中的范围功能解析网站;在发出下一个请求之前,请注意10秒睡眠命令。
但是,我收到此错误消息:
您对本网站的访问权限已经存在 暂时被阻止。这个阻止是自动的 很快就被删除,通常在几分钟内。最常见 阻止动作的原因是对。的自动响应 从您的IP地址发送到网站的过多网页请求。如果 你正在使用>请自动下载工具 将请求率降低到小于1>请求 每3秒钟一次。
这是我正在使用的代码:
while sleep 10; do curl "http://some.site.com/content[1-100]/[1-100]/[1-500].stuff"; done
while true; do curl "http://some.site.com/content[1-100]/[1-100]/[1-500].stuff"; sleep 10; done
答案 0 :(得分:1)
您的问题是[1-100]
语法将使用1..100中的数字重复请求而不返回,因此您的睡眠将被忽略。
我不知道在使用区间语法时告诉curl
加油的方法,因此我建议您从外部curl
控制此问题,例如:
for a in {1..100}; do
for b in {1..100}; do
for c in {1..500}; do
curl "http://some.site.com/content$a/$b/$c.stuff"
sleep 3s
done
done
done