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

简介: 异常处理1、使用URLError进行异常处理# -*- coding: UTF-8 -*-from urllib import requestfrom urllib import errorif __name__ == "__main__": url = 'https://blog.
异常处理
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)










相关文章
|
1月前
|
机器学习/深度学习 算法 安全
【PSO-LSTM】基于PSO优化LSTM网络的电力负荷预测(Python代码实现)
【PSO-LSTM】基于PSO优化LSTM网络的电力负荷预测(Python代码实现)
|
1月前
|
数据采集 数据挖掘 测试技术
Go与Python爬虫实战对比:从开发效率到性能瓶颈的深度解析
本文对比了Python与Go在爬虫开发中的特点。Python凭借Scrapy等框架在开发效率和易用性上占优,适合快速开发与中小型项目;而Go凭借高并发和高性能优势,适用于大规模、长期运行的爬虫服务。文章通过代码示例和性能测试,分析了两者在并发能力、错误处理、部署维护等方面的差异,并探讨了未来融合发展的趋势。
157 0
|
2月前
|
数据采集 存储 C++
Python异步爬虫(aiohttp)加速微信公众号图片下载
Python异步爬虫(aiohttp)加速微信公众号图片下载
|
28天前
|
机器学习/深度学习 算法 PyTorch
【Pytorch框架搭建神经网络】基于DQN算法、优先级采样的DQN算法、DQN + 人工势场的避障控制研究(Python代码实现)
【Pytorch框架搭建神经网络】基于DQN算法、优先级采样的DQN算法、DQN + 人工势场的避障控制研究(Python代码实现)
|
13天前
|
数据采集 Web App开发 前端开发
处理动态Token:Python爬虫应对AJAX授权请求的策略
处理动态Token:Python爬虫应对AJAX授权请求的策略
|
13天前
|
数据采集 网络协议 API
协程+连接池:高并发Python爬虫的底层优化逻辑
协程+连接池:高并发Python爬虫的底层优化逻辑
|
1月前
|
数据采集 存储 JSON
地区电影市场分析:用Python爬虫抓取猫眼/灯塔专业版各地区票房
地区电影市场分析:用Python爬虫抓取猫眼/灯塔专业版各地区票房
|
21天前
|
机器学习/深度学习 算法 PyTorch
【DQN实现避障控制】使用Pytorch框架搭建神经网络,基于DQN算法、优先级采样的DQN算法、DQN + 人工势场实现避障控制研究(Matlab、Python实现)
【DQN实现避障控制】使用Pytorch框架搭建神经网络,基于DQN算法、优先级采样的DQN算法、DQN + 人工势场实现避障控制研究(Matlab、Python实现)
|
22天前
|
数据采集 存储 Web App开发
处理Cookie和Session:让Python爬虫保持连贯的"身份"
处理Cookie和Session:让Python爬虫保持连贯的"身份"
|
24天前
|
数据采集 监控 Shell
无需Python:Shell脚本如何成为你的自动化爬虫引擎?
Shell脚本利用curl/wget发起请求,结合文本处理工具构建轻量级爬虫,支持并行加速、定时任务、增量抓取及分布式部署。通过随机UA、异常重试等优化提升稳定性,适用于日志监控、价格追踪等场景。相比Python,具备启动快、资源占用低的优势,适合嵌入式或老旧服务器环境,复杂任务可结合Python实现混合编程。

热门文章

最新文章

推荐镜像

更多