zoukankan      html  css  js  c++  java
  • 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证书路径
  • 相关阅读:
    TFS 2012使用简介(一)
    Android手机应用程序开发环境配置(Eclipse+Java+ADT)
    关于 all-delete-orphan
    Rest中的XML与JSON的序列化与反序列化
    C#Base64编码
    Visual Studio 2013支持Xamarin的解决方案
    【转】[WCF REST] 帮助页面与自动消息格式(JSON/XML)选择
    【转】 MEF 和 MAF
    Enable tfs feature in sharepoint
    Using a local farm account for a SharePoint 2013 installation
  • 原文地址:https://www.cnblogs.com/pythonywy/p/11114177.html
Copyright © 2011-2022 走看看