urllib的异常包括:URLError和HTTPError。
1、简介
HTTPError类是URLError类的子类
HTTPError的异常包括:
1、返回状态码404表示路径错误,页面未找到
2、500表示服务器内部错误
这里只能展示下404的错误了
而URLError异常,我是访问了个应该不存在的网站,出现了URLError异常,按照我的理解就是,找不到该网页之类的。
2、解决urllib的异常
那么怎么解决异常?
为了使代码更加的健壮,可以通过try-except进行捕获异常。
try-except应该不陌生吧,这个用来捕获异常,并抛出信息。那,怎么操作?
import urllib.request
import urllib.error # 这里注意,需要导入error这个包
# url = 'https://blog.csdn.net/weixin_46089319/article/details/1060566831'
url = 'https://www.goudan.com'
try:
# 模拟浏览器向服务器发送请求
response = urllib.request.urlopen(url=url)
content = response.read().decode('utf-8')
print(content)
except urllib.error.HTTPError:
print('HTTPError异常')
except urllib.error.URLError:
print('URLError异常')
这样一来,程序一般就不会报错了。并且会打印信息,告知你出现了什么错误,然后再去对相应的地方就行修改。
修改什么?
1、当出现HTTPError异常时,需要注意url的路径或者是域名后面跟着的参数之类的是否有错误。
2、当出现URLError异常时,需要注意访问的网站是否有问题,域名是否出错。
以上是我的个人理解,若有错误还请指正,谢谢。