【发布时间】:2019-12-26 21:51:49
【问题描述】:
我在尝试 urlopen 维基百科的某个页面时遇到了一个奇怪的错误。这是页面:
http://en.wikipedia.org/wiki/OpenCola_(drink)
这是 shell 会话:
>>> f = urllib2.urlopen('http://en.wikipedia.org/wiki/OpenCola_(drink)')
Traceback (most recent call last):
File "C:\Program Files\Wing IDE 4.0\src\debug\tserver\_sandbox.py", line 1, in <module>
# Used internally for debug sandbox under external interpreter
File "c:\Python26\Lib\urllib2.py", line 126, in urlopen
return _opener.open(url, data, timeout)
File "c:\Python26\Lib\urllib2.py", line 397, in open
response = meth(req, response)
File "c:\Python26\Lib\urllib2.py", line 510, in http_response
'http', request, response, code, msg, hdrs)
File "c:\Python26\Lib\urllib2.py", line 435, in error
return self._call_chain(*args)
File "c:\Python26\Lib\urllib2.py", line 369, in _call_chain
result = func(*args)
File "c:\Python26\Lib\urllib2.py", line 518, in http_error_default
raise HTTPError(req.get_full_url(), code, msg, hdrs, fp)
urllib2.HTTPError: HTTP Error 403: Forbidden
这发生在不同大陆的两个不同系统上。有谁知道为什么会这样?
【问题讨论】:
-
您可能希望对这些括号进行 URL 编码。不过,这并不是说它有助于对抗 403。
-
您也可以使用来自维基媒体 api mediawiki.org/wiki/API:Main_page的链接