网站已启动并正在运行,但解析它会导致HTTP错误503

时间:2013-06-30 03:53:27

标签: python-2.7 webserver urllib2 lxml

我想使用urllib2库抓取网页,并根据需要提取一些信息。我能够自由地浏览网站(从一个链接到另一个链接,等等),但是当我尝试解析它时,我收到错误

HTTP Error 503 : Service Temporarily Unavailable

我在网上搜索过它,发现当“网站的服务器当时不可用”时会出现此错误

阅读本文后我很困惑,如果网站服务器已关闭,那么它是如何启动并运行的(因为我能够浏览网页),如果服务器没有关闭,那么为什么我得到这个503错误。< / p>

服务器是否有可能阻止解析网页

提前致谢。

1 个答案:

答案 0 :(得分:2)

很可能您的用户代理被禁止进入服务器,以避免网络抓取工具。因此,某些网站(包括维基百科)在使用不需要的用户代理(例如wget,curl,urllib,...)时出现50x错误

但是,更改用户代理可能就足够了。至少,维基百科就是这种情况,使用Firefox用户代理时效果很好。 (“bann”很​​可能只依赖于用户代理)。

最后,这些网站必须有理由禁止网页抓取工具。根据您正在处理的内容,您可能希望使用其他解决方案。例如,维基百科提供database dumps,如果您打算大量使用它,这可能很方便。

PS。 Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; en-US; rv:1.9.2.11) Gecko/20101012 Firefox/3.6.11是我用于维基百科的用户代理。