我正在使用urllib.request使用Python 3.2.1打开页面源,但我收到错误urllib.error.HTTPError: HTTP Error 503: Service Unavailable
。请在下面找到代码和错误。
import re
import urllib.request
html = urllib.request.urlopen("http://www.pythonchallenge.com/pc/def/ocr.html").read().decode()
print (html)
Traceback (most recent call last):
File "I:/Private/nabm/python/python_challenge/python_challenge_2.py", line 4, in <module>
html = urllib.request.urlopen("http://www.pythonchallenge.com/pc/def/ocr.html").read().decode()
File "C:\appl\Python\3.2.1\lib\urllib\request.py", line 138, in urlopen
return opener.open(url, data, timeout)
File "C:\appl\Python\3.2.1\lib\urllib\request.py", line 375, in open
response = meth(req, response)
File "C:\appl\Python\3.2.1\lib\urllib\request.py", line 487, in http_response
'http', request, response, code, msg, hdrs)
File "C:\appl\Python\3.2.1\lib\urllib\request.py", line 413, in error
return self._call_chain(*args)
File "C:\appl\Python\3.2.1\lib\urllib\request.py", line 347, in _call_chain
result = func(*args)
File "C:\appl\Python\3.2.1\lib\urllib\request.py", line 495, in http_error_default
raise HTTPError(req.full_url, code, msg, hdrs, fp)
urllib.error.HTTPError: HTTP Error 503: Service Unavailable
Process finished with exit code 1
有人能看到可能导致此错误的原因吗?
答案 0 :(得分:0)
HTTP错误503表示服务器此时无法响应,无论是由于过载还是因为它拒绝了您的连接。换句话说,您无法在代码中更改任何内容来修复它。
答案 1 :(得分:0)
我知道距离约会已经有一段时间了。但是,我将发布如何处理“ HTTP错误503”的情况,以防它可能对其他人有所帮助。 首先,我确实将request.urlretrieve(...)放入try块中以捕获错误。 就我而言,我尝试访问的服务器确实需要时间来处理请求。 (我访问的服务器不是Amazon.com或那种阻止程序访问其内容的服务器。) 使用try块,在发生异常的情况下,我使用time.sleep(20)使程序等待20秒。这样可以完成我的程序。