• Python关于requests库的整理


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

     1,  使用get函数会内部生成一个Request对象,以及一个Response对象(也就是 r );

          Response对象(r)包含了Request对象发送的全部信息以及爬虫返回的全部内容;

        1.1   URL:全称为Uniform Resource Locator统一资源定位符,包含了协议,服务器名称,路径和文件名等信息。

                 API:全称为application programming interface;应用程序编程接口;

        1.2    params:字典或字符串格式作为参数增加到url中,是额外参数。

        1.3    **kwargs:代表十二个控制访问的参数;

                (1)data:字典,字符串或文件对象,作为Request对象的内容;

                (2)json: JSON格式的数据作为Request对象的内容;

                (3)headers:字典,HTTP头部信息;目的是将请求伪装成诸如浏览器,使用post方法向服务器发起访问;

                (4)cookies:字典或者CookieJar,Request中的cookie;

                  (5)   auth:元组,支持HTTP认证功能;

                (6)files: 字典类型,向服务器传输文件;

                (7)timeout: 设定超时时间,单位秒;

                (8)proxies:字典类型,设定访问代理服务器,可以增加登录认证;

                (9) allow_redirects:True/False,默认为True,重定向开关;   //高级功能使用

               (10)stream: 布尔值,默认为真,获取内容立即下载开关;//高级功能使用

               (11)verify:布尔值,默认为真,认证SSL证书开关;   //高级功能使用

               (12)cert:保存本地SSL证书路径;   //高级功能使用

                  13个参数通过赋值的方法来调用

    2,  requests库的七个主要方法: 

     requests.request(method,url,**kwargs)

      

     requests.get(url,params=None,**kwargs)
    requests.head(url,**kwargs) requests.post(url,data=None,json=None,**kwargs) requests.put(url,data=None,**kwargs) requests.patch(url,data=None,**kwargs)
    requests.delete(url,**kwargs)

        2.1    request方法:向url页面构造一个请求,其余六种方法通过调用封装好的request函数来实现的;

        2.2    get方法: 获取一个HTML页面的信息;对应于HTTP的GET;

        2.3    head方法:获取HTML网页的头部信息;对应于HTTP的HEAD;

        2.4    post方法:向HTML网页提交POST请求;对应于HTTP的POST;

                             (根据提交内容的不同,自动存储信息为form形式或者data形式)

        2.5    put方法:向HTML网页提交PUT(全局修改)请求;对应于HTTP的PUT;

                           (根据提交内容的不同,自动存储信息为form形式或者data形式)

        2.6    patch方法:向HTML网页提交局部修改请求;对应于HTTP的PATCH;

        2.7    delete方法:向HTML网页提交删除请求;对应于HTTP的DELETE;

    3,  通用代码框架:

    try:
        r=requests.get(url,timeout=30)
        r.raise_for_status()
        r.encoding=r.apparnet_encoding()
        return r.text
    except:
        return"产生异常"

    4,  Response对象的属性:

        4.1    r.status_code:     HTTP请求返回的状态,200表示成功,404和其他表示失败;

        4.2    r.text:     响应内容的字符串形式;

        4.3    r.encoding:    从响应内容的头部信息来推断编码形式

        4.4    r.apparent_encoding:    从响应内容的内容信息来推断编码形式;

        4.5    r.content:    将爬取到的响应内容的二进制形式还原成响应内容;

                 Response对象提供了一个单独的方法raise_for_status()方法

                  r.raise_for_status() :    HTTP的请求返回状态不是200则产生 request.HTTPError;

    5,  requests库的异常处理:

        5.1    requests.ConnectionError:     网络连接错误异常,如DNS查询失败,拒绝连接等;

        5.2    requests.HTTPError:       HTTP错误异常

        5.3    requests.URLRequired:     URL缺失异常

        5.4    requests.TooManyRedirects:     超过最大重定向次数,产生重定向异常;

        5.5    requests.ConnectTimeout:    连接远程服务器超时异常;

        5.6    requests.Timeout:    请求URL超时,产生超时异常;   

    6,  HTTP协议:Hypertext Transfer Protocol  超文本传输协议;是一个基于“请求与响应”模式的,无状态的(非时序)应用层协议;

        host:    Internet主机域名或IP地址;

        port:      端口号,缺省端口默认为80;

        path:    请求资源的路径;

  • 相关阅读:
    nodejs安装express及ejs模板
    nodejs开启服务器
    php 汉字转拼音
    使PHP像js一样链式写法
    apache出现\xef\xbb\xbf
    更改CI自定义类构造函数的传参方式
    DEV ComBoxEdit实现模糊检索数据
    微软一站式示例代码库(中文版)20110924版本, 新添加ASP.NET, Windows Base, Silverlight, WinForm等20个Sample
    Windows Azure 系列分享一:开始基于Windows Azure的开发与部署所需的概念和软件
    Windows Azure 系列分享二: Worker Role & Web Role
  • 原文地址:https://www.cnblogs.com/caesura-k/p/9638021.html
Copyright © 2020-2023  润新知