python爬虫urllib中的异常模块处理_第1页
python爬虫urllib中的异常模块处理_第2页
python爬虫urllib中的异常模块处理_第3页
python爬虫urllib中的异常模块处理_第4页
python爬虫urllib中的异常模块处理_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第python爬虫urllib中的异常模块处理目录urllib中的异常处理url的组成部分URLErrorHTTPError简介Urllib.error模块异常处理

urllib中的异常处理

在我们写爬虫程序时,若出现url中的错误,那么我们就无法爬取我们想要的内容,对此,我们引入了urllib中的异常处理。

url的组成部分

URL由6个部分组成:eg:

/swd=易烊千玺

协议(http/https)主机()端口号(80/443)路径(s)参数(wd=易烊千玺)锚点

常见的端口号:

http(80)https(443)mysql(3306)oracle(1521)redis(6379)mongodb(27017)

URLError

通常来说,URLError报错通常为url地址中主机部分的错误:

实例:

url='1/'

运行结果:

urllib.error.URLError:urlopenerror[Errno11001]getaddrinfofailed

HTTPError

这个异常的通常是url地址中参数或是路径的错误。

实例:

url='/p/3388cf148dba1'

运行结果:

urllib.error.HTTPError:HTTPError404:NotFound

简介

HTTPError类是URLError类的子类导入的包urllib.error.HTTPError/urllib.error.URLErrorhttp错误:http错误是针对浏览器无法连接到服务器而增加的出来的错误提示,引导并告诉浏览者该页是出了什么问题。通过urllib发送请求的时候,有可能会发送失败,这个时候如果想让你的代码更健壮,可以通过try-except进行捕获异常。

Urllib.error模块

urllib.error模块为urllib.request所引发的异常定义了异常类,基础异常类是URLError。

urllib.error包含了两个方法,URLError和HTTPError。

URLError是OSError的一个子类,用于处理程序在遇到问题时会引发此异常(或其派生的异常)。

HTTPError是URLError的一个子类,用于处理特殊HTTP错误例如作为认证请求的时候,包含的属性code为HTTP的状态码,reason为引发异常的原因,headers为导致HTTPError的特定HTTP请求的HTTP响应头。

异常处理

用tryexcept语句块捕获并处理异常,其基本语法结构如下所示:

try:可能产生异常的代码块

except[(Error1,Error2,)[ase]]:处理异常的代码块1

except[(Error3,Error4,)[ase]]:处理异常的代码块2

except[Exception]:处理其它异常

实例:

原url=/p/3388cf148dba

源码:

importurllib.request

importurllib.error

url='1/p/3388cf148dba'

#url的组成eg:/swd=易烊千玺

#1.协议(http/https)2.主机()3.端口号(80/443)4.路径(s)5.参数(wd=易烊千玺)6.锚点

#常见的端口号

#http(80)https(443)mysql(3306)oracle(1521)redis(6379)mongodb(27017)

headers={

'User-Agent':'Mozilla/5.0(WindowsNT10.0;Win64;x64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/98.0.4758.102Safari/537.36'

request=urllib.request.Request(url=url,headers=headers)

response=urllib.request.urlopen(request)

content=response.read().decode('utf8')

print(content)

excepturllib.error.HTTPError:

print('HTTP异常,请稍后!')

excepturllib.error.URLError:

print('URL异常,请稍后!')

1.URLError

url=1/p/3388cf148dba

运行结果:

2.HTTPError

url=/p/3388cf148dba111

运行结果:

由于HTTPRError

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论