Python爬虫 网络请求(二)——错误解析

网络请求(二)

错误解析

异常处理主要用到两大类:

  • urllib.error.URLError:用于捕获urllib.request产生的异常,使用reason属性返回错误原因
  • urllib.error.HTTPError:用于处理HTTP与HTTPS请求的错误,它有三个属性:
  • code:请求返回的状态码
  • reason:请求返回错误的原因
  • headers:请求返回的响应头信息

请求时异常

import urllib.request
import urllib.error

url='http://www.google.com' #错误网址
try:
    resp=urllib.request.urlopen(url)
except urllib.error.URLError as e:
    print(e.reason)
[WinError 10060] 由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。

进程已结束,退出代码0
import urllib.request
import urllib.error

#url='http://www.google.com' #错误网址
url='http://www.google.cn' #正确网址
try:
    resp=urllib.request.urlopen(url)
except urllib.error.URLError as e:
    print(e.reason)

进程已结束,退出代码0

返回时异常

import urllib.request
import urllib.error

url='http://movie.douban.com'
try:
    resp=urllib.request.urlopen(url)
except urllib.error.URLError as e:
    print('原因:',e.reason)
    print('响应状态码:',e.code)
    print('响应头信息:',e.headers)
原因: 
响应状态码: 418
响应头信息: Date: Wed, 10 Feb 2021 12:50:06 GMT
Content-Length: 0
Connection: close
Server: dae
X-Content-Type-Options: nosniff

你可能感兴趣的:(Python爬虫)