• Requests库整理


    一、Requests库的安装

    win平台下,直接在命令行使用

    pip install requests

    即可进行安装

    成功后测试如下

    >>> import requests
    >>> r = requests.get('https://www.baidu.com')
    >>> print(r.status_code)
    200
    >>> r.text
    '<!DOCTYPE html>
    <!--STATUS OK--><html>

    二、Requests库的七个主要方法

      1. requests.requests()  用于构造一个请求,支撑以下各方法的基础方法
      2.  requests.get()  获取HTML网页的主要方法,对应于HTTP的GET 
      3. requests.head()  获取HTML网页头信息的方法,对应于HTTP的HEAD 
      4. requests.post()  向HTML网页提交POST请求的方法,对应于HTTP的POST
      5. requests.put()  向HTML网页提交PUT请求的方法,对应于HTTP的PUT 
      6. requests.patch() 向HTML网页提交局部修改请求,对应于HTTP的PATCH
      7. requests.delete()  向HTML页面提交删除请求,对应于HTTP的DELETE

    三、Requests库的get()方法

    get()方法是最常用的方法

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

    其中:

    • url:想要获取的网页url
    • params: url中的额外参数,字典或字节流格式,如kw = {'wd': 'baidu'}, requests.get('https://www.baidu.com', kw),其中访问的地址是https://www.baidu.com/?wd=baidu, 可选参数
    • **kwargs: 12个控制访问的参数(较为少用)

    四、两个重要的对象:Request和Response

    对于r = requests.get(url), 其实是先构造了一个向服务器请求资源的Request对象,然后返回一个包含服务器资源的Response对象

    PS:其实在requests库的源码中可以得知get是对request方法进行了封装

    Response对象基本的属性:

    1. r.status_code  HTTP请求的返回状态,200表示连接成功,404表示失败
    2. r.headers 返回Response对象的头部信息
    3. r.text  HTTP响应内容的字符串形式,即,url对应的页面内容 
    4. r.encoding  从HTTP header中猜测的响应内容编码方式 
    5. r.apparent_encoding  从内容中分析出的响应内容编码方式(备选编码方式) 
    6. r.content  HTTP响应内容的二进制形式

    有一点需要注意:如果在header中不存在charset,这认为编码为ISO‐8859‐1,r.encoding将为这个编码

    r.apparent_encoding为程序根据网页内容分析出的编码,若网页编码已知的话,可以省略对此处进行一点小小的优化

    五、异常

    Requests库的异常

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

    Response类的异常

    r.raise_for_status()  如果不是200 这抛出异常requests.HTTPError,便于对异常的处理

    -------

    本文整理自嵩天老师的python系列课程,如有错误,还请斧正

  • 相关阅读:
    思源:秒级体验百亿级数据量监控钻取
    禧云Redis跨机房双向同步实践
    谈谈数据中台技术体系
    RCA:收单设备调用云端接口频繁超时排查总结
    技术上的“深淘滩,低作堰”
    企业私有源代码上传github致入侵之大疆案判决了
    那些年我们一起犯过的错
    异地双活的四个误区
    没有预见性你凭什么晋升
    中国IT史上两大严重事故对我们的警醒及预防措施
  • 原文地址:https://www.cnblogs.com/tcctw/p/9646878.html
Copyright © 2020-2023  润新知