美文网首页
Requests库快速上手

Requests库快速上手

作者: YAOPRINCESS | 来源:发表于2020-04-27 10:38 被阅读0次

    Requests库

    七种方法

    • requests.request():构造一个请求,支撑以下各方法的基础方法
    • requests.get():获取HTML网页的主要方法,对应于HTTP的GET
    • requests.head():获取网页头信息
    • requests.post()
    • requests.put()
    • requests.patch()
    • requests.delete()

    以上6个方法都是调用request方法来实现的

    r=requests.get(url)

    • 构造一个向服务器请求资源的Request对象
    • 返回一个包含服务器资源的Response对象

    requests.get(url,params=None,**kwargs)

    • url
    • params:url中的额外参数,字典或字节流格式,可选
    • **kwargs:12各控制访问的参数

    Response对象的属性

    • r.status_code:HTTP请求的返回状态,200代表成功,404代表失败

    • r.txt:HTTP响应内容的字符串形式

    • r.encoding:从header中猜测的响应内容编码方式

      r.encoding='utf-8'

      如果header中不存在chartset,则认为编码为ISO-8859-1

    • r.apparent_encoding:从内容中分析出的响应内容编码方式

      这个比encoding更加准确

    • r.content:HTTP响应内容的二进制形式

    六种异常

    • requests.ConnectionError
    • requests.HTTPError
    • requests.URLRequired
    • requests.TooManyRedirects
    • requests.ConnectionTimeout
    • requests.Timeout

    r.raise_for_status():如果不是200,产生异常requests.HTTPError

    爬取网页通用代码框架

    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 "产生异常"
    
    if __name__=="__main__":
        url="https://itsapp.bjut.edu.cn/uc/wap/login?redirect=https%3A%2F%2Fitsapp.bjut.edu.cn%2Fncov%2Fwap%2Fdefault%2Findex"
        print(getHTMLText(url))
    

    相关文章

      网友评论

          本文标题:Requests库快速上手

          本文链接:https://www.haomeiwen.com/subject/dotywhtx.html