[英]python, urllib2, crashes on 404 error
我有一个程序可以从存储在数据库中的url中获取内容。 我正在使用beautifulsoup
, urllib2
来获取内容。 当我输出结果时,我看到程序崩溃时它的装箱(看起来像是403)错误。 那么如何防止我的程序崩溃403/404等错误呢?
相关产出:
Traceback (most recent call last):
File "web_content.py", line 29, in <module>
grab_text(row)
File "web_content.py", line 21, in grab_text
f = urllib2.urlopen(row)
File "/usr/lib/python2.7/urllib2.py", line 126, in urlopen
return _opener.open(url, data, timeout)
File "/usr/lib/python2.7/urllib2.py", line 400, in open
response = meth(req, response)
File "/usr/lib/python2.7/urllib2.py", line 513, in http_response
'http', request, response, code, msg, hdrs)
File "/usr/lib/python2.7/urllib2.py", line 438, in error
return self._call_chain(*args)
File "/usr/lib/python2.7/urllib2.py", line 372, in _call_chain
result = func(*args)
File "/usr/lib/python2.7/urllib2.py", line 521, in http_error_default
raise HTTPError(req.get_full_url(), code, msg, hdrs, fp)
urllib2.HTTPError: HTTP Error 403: Forbidden
您可以try/except
使用try/except
来包围请求,例如
try:
urllib2.openurl(url)
except urllib2.HTTPError, e:
print e
有关一些很好的示例和信息,请参阅http://www.voidspace.org.uk/python/articles/urllib2.shtml#handling-exceptions 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.