• Requests库


    Requests库

    `

    1.Response对象的属性

    属性 说明
    r.status_code HTTP请求返回的状态,200表示成功,404表示失败,还有其他的也代表失败
    r.text HTTP响应内容转换成字符串格式
    r.content HTTP响应内容转换成二进制格式
    r.encoding 从HTTP header中猜测响应内容
    r.apparent_encoding 从内容中分析响应内容的编码方式(备选编码方式)

    r.encodingr.apparent_encoding

    • r.encoding:如果header中不存在charset,则默认编码为ISO-8859-1

    • r.apparent_encoding :根据内容来匹配出合适的编码

    • apparent_encoding比encoding更加准确的展示编码方式

    2.Requests库的异常

    异常 说明
    requests.ConnectionError 网络连接错误异常,如DNS查询失败、拒绝连接等
    requests.HTTPErro HTTP错误异常
    requests.URLRequired URL缺失异常
    requests.TooManyRedirects 超过最大重定向次数,产生重定向异常
    requests.ConnectTimeout 连接远程服务器超时异常
    requests.Timeout 请求URL超时,产生超时异常
    • 如果在r.status_code不是200时候,我们可以r.raise_for_status(),如果不是200,引发HTTPError异常

      举例:通用爬取的框架

      import requests
      def get_html_text(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__'  #在pycharm中你可以直接main+Tab快速出这行
      	get_html_text(https://www.cnblogs.com/pythonywy)
      

    3.Requests库的方法

    3.Requests库的方法

    http协议中6个方法 介绍
    GET 请求获取url位置的资源
    HEAD 请求获取url位置的资源的响应报告,及获得头部信息
    POST 请求获取url位置的资源后附加用户新的数据
    PUT 请求获取url位置储存一个资源,覆盖原url位置资源
    PATCH 请求局部更新url位置资源,及改变该处资源的部分内容
    DELETE 请求删除url位置储存的资源
    • 获取云端资源用get,head

    • 把自己资源放入云端用put post patch

    • 删除现有资源del

      用url对资源位置的定义

      1.patch与put区别

      patch可以对于局部修好,put是全部覆盖

      requests与协议方法一一对应

    方法 介绍
    requests.request() 设置请求格式
    requests.get() 请求获取url位置的资源
    requests.head() 请求获取url位置的资源的响应报告,及获得头部信息
    requests.post() 请求获取url位置的资源后附加用户新的数据
    requests.put() 请求获取url位置储存一个资源,覆盖原url位置资源
    requests.patch() 请求局部更新url位置资源,及改变该处资源的部分内容
    requests.delete() 请求删除url位置储存的资源

    4.Requests库13个参数

    • params:字典或字节序列,作为参数增加到链接中
    • data:字典,字节序列或文件对象,作为请求的内容
    • json:JSON格式的数据,作为Request的内容
    • headers:字典,HTTP定制头(模拟浏览器进行访问)
    • cookies:字典或CpplieJar,Request中的cookie
    • auth:元祖,支持HTTP认证功能
    • files:字典类型,传输文件
    • timeout:设定超时时间,秒为单位
    • proxies:字典类型,设定访问代理服务器,可以增加登陆认证
    • allow_redirects:True//False,默认为True,重定向开关
    • stream:True/False,默认为True,获取内容立即下载开关
    • verify:True/False,默认为True,认证SSL证书开关
    • cert:本地SSL证书路径
  • 相关阅读:
    设计模式-抽象工厂模式
    装修预算-资料收集
    SQL中存储过程和函数的区别
    View
    数据表优化
    Entity Framework 基础
    html5标准
    JS整数验证
    vue 页面切换从右侧切入效果
    vue动态设置Iview的多个Input组件自动获取焦点
  • 原文地址:https://www.cnblogs.com/pythonywy/p/11114177.html
Copyright © 2020-2023  润新知