002 Python网络爬虫与信息提取 Requests库

[A] Requests库的安装

  Pycharm中自行安装第三方库

 

[B] Requests库的七个主要方法

方法 说明
requests.request() 构造一个请求,支持一下个方法的基础方法
requests.get() 获取HTML网页的主要方法,对应于HTTP的get方法
requests.head() 获取HTML网页的头信息方法,对应于HTTP的head方法
requests.post() 向HTML网页提价交post请求,对应于HTTP的post方法
requests.put() 向HTML网页提价交put请求,对应于HTTP的put方法
requests.patch() 向HTML网页提价交局部修改请求,对应于HTTP的patch方法
requests.delete() 向HTML网页提价交删除请求,对应于HTTP的delete方法

    实际上,request方法为Request库的基本方法,其他六种方法内部都是通过调用request方法来发送请求的。

 

[C] requests的get()方法

  语法:

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

  参数:

    url:必填,拟获取页面的url链接

    params:可选,url中的额外参数,字典获字节流格式

    **kwargs:可选,12个控制访问的参数

  返回值:一个包含服务器资源的 Response 对象

  说明:

    1. requests.get() 方法创建了一个向服务器发送请求的Request对象

    2. 返回值 r 为一个包含服务器资源的 Response 对象,里面也包含请求的相关信息

  

  Response对象的属性

属性 说明
r.status_code HTTP请求的返回状态,200表示连接成功,404表示连接失败
r.text HTTP响应内容的字符串形式,即url对应的页面内容
r.encoding 从HTTP header 中猜测的响应内容的编码形式
r.apparent_encoding 从内容中分析出来的响应内容的编码方式(备选编码方式)
r.content HTTP响应内容的二进制形式

          r.encoding 和 r.apparent_encoding 的比较:

                网络上的资源都是经过编码之后存储在服务器中的,有的服务器对编码形式有格式要求,有的没有;

                  有格式要求的,会在其 header 信息的 charset 属性中赋值,没有格式要求的则 charset 属性未被赋值

            1. r.encoding 是从HTTP的header中直接读取对应的 charset 的值,获取编码格式要求,如果 charset 中没有值,则编码默认为ISO-8859-1

            2. r.apparent_encoding 是根据返回资源的内容中分析,确定该资源的编码形式

          实际上,r.apparent_encoding  中存储的编码格式要相比于r.encoding 更准确

 

上一篇:数据结构和算法002——稀疏数组


下一篇:002. Linux基础二 (命令行/括号拓展、TAB、history)