Web scraping Wget 503不可用错误

Web scraping Wget 503不可用错误,web-scraping,wget,Web Scraping,Wget,我试图在一个URL上发出wget,并收到此错误。我需要存储HTML文件,我希望wget能够工作:( 我尝试过使用--no proxy选项,但没有任何帮助。我可以发布wgethttp://www.amazon.com没有任何问题。 我的猜测是,你被亚马逊阻止后,取消了一点多 503服务不可用 由于发生错误,服务器当前无法处理该请求 服务器临时过载或维护。其含义是 这是一种暂时的情况,经过一段时间后会得到缓解 延迟。如果已知,延迟的长度可以用 在标头之后重试。如果未给出在标头之后重试,则客户端应 像

我试图在一个URL上发出
wget
,并收到此错误。我需要存储HTML文件,我希望wget能够工作:(


我尝试过使用
--no proxy
选项,但没有任何帮助。

我可以发布
wgethttp://www.amazon.com
没有任何问题。
我的猜测是,你被亚马逊阻止后,取消了一点多

503服务不可用

由于发生错误,服务器当前无法处理该请求 服务器临时过载或维护。其含义是 这是一种暂时的情况,经过一段时间后会得到缓解 延迟。如果已知,延迟的长度可以用 在标头之后重试。如果未给出在标头之后重试,则客户端应 像处理500响应一样处理响应

$ wget www.amazon.com
Resolving www.amazon.com... 205.251.242.54
Connecting to www.amazon.com|205.251.242.54|:80... connected.
HTTP request sent, awaiting response... 503 Service Unavailable
2015-10-12 23:27:24 ERROR 503: Service Unavailable.

问题在于amazon防火墙正在阻止未设置或不正确的用户代理的连接

您可以尝试将用户代理设置为wget并使用以下命令获取amazon(请注意,如果此用户代理无效,您可能需要更改有效的用户代理):


有没有比wget更好的方法呢?你可以试试
curl
php curl
python-urlib2
java-jsoup
,等等。根据你的请求设置
user-agent
,旋转代理也可能对你有所帮助。另一种尝试是在wget命令之间添加sleep语句。他们可能不喜欢你g每秒(或每分钟、或每小时)有如此多的请求,但添加
sleep 1s
将大大减少每秒和每分钟的请求数)
  Note: The existence of the 503 status code does not imply that a
  server must use it when becoming overloaded. Some servers may wish
  to simply refuse the connection.
wget -U "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.79 Safari/537.36" https://amazon.com