1

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

HTTP Error 503 : Service Temporarily Unavailable

我在网上搜索了一下,发现这个错误发生在“当时网站的服务器不可用”时

读完这篇文章后我很困惑,如果网站服务器关闭了,那么它是如何启动和运行的(因为我能够浏览网页),如果服务器没有关闭,那么为什么我会收到这个 503 错误。

他们是否有可能是服务器做了一些事情来阻止解析网页

提前致谢。

4

1 回答 1

2

很可能您的用户代理已被服务器禁止,以避免网络爬虫。因此,包括 Wikipedia 在内的一些网站在使用不需要的用户代理(例如 wget、curl、urllib 等)时会显示 50 倍的错误

但是,更改用户代理可能就足够了。至少,Wikipedia 是这样,它在使用 Firefox 用户代理时工作得很好。(“bann”很​​可能只依赖于用户代理)。

最后,这些网站必须有理由禁止网络爬虫。根据您的工作,您可能需要使用其他解决方案。例如,维基百科提供了数据库转储,如果您打算大量使用它,这会很方便。

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是我在我的一个项目中用于维基百科的用户代理。

于 2013-06-30T14:38:00.697 回答