Python3网络爬虫——(4)urllib.error异常处理

异常处理

1、使用URLError进行异常处理

# -*- coding: UTF-8 -*-
from urllib import request
from urllib import error
if __name__ == "__main__":
     url = 'https://blog.csdn.net/asialee_bir'  #错误链接
     try:
        response=request.urlopen(url)
        file=response.read().decode('utf-8')
        print(file)
     except  error.URLError as e:
        print(e.code)
        print(e.reason)

异常结果:(403错误表示禁止访问)

 

 

2、使用HTTPError进行异常处理

# -*- coding: UTF-8 -*-
from urllib import request
from urllib import error
if __name__ == "__main__":
    url = 'https://blog.csdn.net/asialee_bir'  #错误链接
    try:
        response=request.urlopen(url)
        file=response.read().decode('utf-8')
        print(file)
    except error.HTTPError as e:
        print(e.code)    #返回状态码
        print(e.reason)

异常结果:(403错误表示禁止访问)

 

注意:URLError是HTTPError的父类

 

3、URLError和TTPError混合使用

# -*- coding: UTF-8 -*-
from urllib import request
from urllib import error
if __name__ == "__main__":
    url = 'https://blog.baidusss.net'  #不存在的链接
    try:
        response=request.urlopen(url)
        file=response.read().decode('utf-8')
        print(file)
    except error.URLError as e:
        if hasattr(e,'code'):   #使用hasattr()判断是否有这些属性
             print('HTTPError')
             print(e.code)
        if hasattr(e,'reason'):
             print('URLError')
             print(e.reason)

 

 

 

 

 

 

 

 

全部评论

相关推荐

给🐭🐭个面试机会...:我擦seed✌🏻
点赞 评论 收藏
分享
不知道怎么取名字_:两个方向 1.简历针对性准备下 2.面试前也需要准备的 主要还是要看各个公司需求,看公司行业和岗位描述,那里面已经写了对技术的需求,一份简历,不可能和所有嵌入式岗位都匹配的
投递北京经纬恒润科技股份有限公司等公司6个岗位
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务