504:urllib2的网关超时

时间:2013-12-26 02:13:43

标签: python beautifulsoup urllib2 http-status-code-504

当我尝试阅读页面的来源时,我得到以下输出

  Traceback (most recent call last):
  File "price.py", line 179, in <module>
    l_soup = BeautifulSoup(urllib2.urlopen(l_link).read())
  File "/usr/lib/python2.7/urllib2.py", line 127, in urlopen
    return _opener.open(url, data, timeout)
  File "/usr/lib/python2.7/urllib2.py", line 410, in open
    response = meth(req, response)
  File "/usr/lib/python2.7/urllib2.py", line 523, in http_response
    'http', request, response, code, msg, hdrs)
  File "/usr/lib/python2.7/urllib2.py", line 448, in error
    return self._call_chain(*args)
  File "/usr/lib/python2.7/urllib2.py", line 382, in _call_chain
    result = func(*args)
  File "/usr/lib/python2.7/urllib2.py", line 531, in http_error_default
    raise HTTPError(req.get_full_url(), code, msg, hdrs, fp)
urllib2.HTTPError: HTTP Error 504: Gateway Time-out

我的code.py(删除不相关的内容后):

isbn = str(9780593072493)
l_link = "http://www.landmarkonthenet.com/books/search/"+isbn
l_soup = BeautifulSoup(urllib2.urlopen(l_link).read())
l_temp = l_soup.select(".price-current")

我该如何解决这个问题? l_link的重定向是否导致了问题?在此先感谢。

PS:我已经搜索过这个问题,找不到任何有用的东西。

1 个答案:

答案 0 :(得分:3)

5xx status codes是服务器的问题(与4xx状态代码相比,这是客户端的问题)。这意味着您向服务器发送了有效请求,但服务器无法提供有效的响应。

您的代码很好,但是服务器(或者在这种情况下,服务器正在使用的网关)遇到了问题。您只需要耐心等待服务器解决自己的问题,或者联系服务器管理员并告知他们他们的服务器行为不端。