第一周-单元1-Requests库入门-3-爬取网页的通用代码框架

3.爬取网页的通用代码框架

爬取网页的通用代码框架:指可以准确、可靠地爬取网页内容的一组代码。

3.1异常处理

使用get()方法时并不一定能够成功获取信息,所以首先明确异常处理非常重要。

理解Requests库的异常

异常   说明
requests.ConnectionError 网络连接错误异常,如DNS查询失败、拒绝连接等
requests.HTTPError HTTP错误异常
requests.URLRequired URL缺失异常
requests.TooManyRedirects 超过最大重定向次数,产生重定向异常
requests.ConnectTimeout 连接远程服务器超时异常
requests.Timeout 请求URL超时,产生超时异常

其中,Timeout和ConnectTimeout之间的区别:Timeout指从发出URL请求到获得内容的整个过程的超时异常。而ConnectTimeout仅指与远程服务器连接过程产生的超时异常。

判断是否产生异常的方法:r.raise_for_status()其返回值如果不是200则产生requests.HTTPError异常

3.2通用代码框架

import requests
def getHTMLText(url):
    try:
        r = requests.get(url,timeout=30)
        r.raise_for_status()   #如果状态不是200,引发HTTPError异常
        r.encoding = r.apparent_encoding
        return r.text
    except:
        return "产生异常"

 通用代码框架最大的作用是能够使得用户更稳定、更有效地访问或爬取网页。

posted @ 2022-04-29 16:31  CharlesZ  阅读(90)  评论(0编辑  收藏  举报