URLError和HTTPError
HTTPError类是URLError类的子类
导入包 import urllib.error
http 错误是针对浏览器无法连接到服务器而增加的错误提示。引导并告诉浏览者该页是哪里出现了问题。
通过urllib发送请求的时候,有可能发送失败,这时可通过try–except 进行捕获,异常有2类,URLError,HTTPError。
测试代码:
# _*_ coding: utf-8 _*_
# @Time : 2021/12/1 20:29
# @Author : Ritchie
# @File : 21_爬虫异常
# @Project : PyCode
import urllib.request
import urllib.parse
import urllib.error
‘https://blog.csdn.net/flysh13?spm=1001.2014.3001.5343’
url =‘https://blog1.csdn.net/flysh13?spm=1001.2014.3001.5343’
headers = {
‘user-agent’:‘Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.45 Safari/537.36’
}
try:
request = urllib.request.Request(url=url, headers=headers)
response = urllib.request.urlopen(request)
content = response.read().decode('utf-8')
print(content)
except urllib.error.HTTPError:
print('系统正在升级...')
except urllib.error.URLError:
print("主机服务停止.....")
|