2.零基础系统学习Python爬虫之爬取网页的通用代码框架

☞☞☞点击查看更多优秀Python博客☜☜☜

理解Resquests库的异常

在我们进行网络爬虫时常会出现错误,比如requests.ConnectionError;requests.HTTPError等,下面对Resquests库的异常做个总结:

异常说明
request.ConnectionError网络连接异常,如DNS查询失败、拒绝连接等
requests.HTTPErrorHTTP错误异常
requests.URLRequierdURL确实异常
requests.TooManyRedirects超出最大定向次数,产生定向异常
requests.ConnectTimeout连接远程服务器超时异常
requests.Timeout请求URL超时,产生超时异常

理解了异常过后我们就可以讲解下一个异常判断的方法,即

异常说明
r.raise_for_status()如果不是200,产生异常request.ConnectionError

可进行判断,常用,如果是200,则返回200,如果不是200则返回错误原因

爬取网页的通用代码框架

在进行requests错误判断时常用try except 的方法进行判断,历程如下:

impotr requests

def get_text(url):
	try:
		r = requests.get(url,timeout = 30)
		r.raise_for_status()#如果状态不是200引发HTTPError异常
		r.enconding = r.apparent_enconding
		return r.text
	excep:
		return "产生异常"
if __name__ == "__main__":
	url = "http://www.baidu.com"
	print(get_text(url))

get_text(url)函数内的语句即为代码框架即:

def get_text(url):
	try:
		r = resquests.get(url,timeout = 30)
		r.raise_for_status()#如果状态不是200引发HTTPError异常
		r.enconding = r.apparent_enconding
		return r.text
	excep:
		return "产生异常"

通用代码框架讲解

代码工作过程讲解:
首先进行requests.get(url)进而调用r.raise_for_status()的方法来判断返回的状态是不是200,否则就会引发一个HTTPError异常。
第三行代码用r.apparent_enconding得到的编码方式赋值给r.enconding 来确保我们的解码方式是正确的,如果全部正确则返回r.text
如果网络连接出现错误就会通过try except来return一个异常信息。

这样一个通用爬虫框架可有效处理我们在处理或爬取网页时的错误。

**作用:**为了使你的爬取过程变得更加稳定可靠,这就是通用代码框架的作用。

以上即是本文的全部内容,如果你觉得本文对你的学习有帮助,你可以点击关注进行持续学习,我的爬虫的博客也会进行持续的更新,谢谢大家!
提示学习来源:北京理工大学慕课

**文章导航:**

零基础学Python教程

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值