• python 之Requests库学习笔记


    1.    Requests库安装

      Windows平台安装说明:

      直接以管理员身份打开cmd运行界面,使用pip管理工具进行requests库的安装。

      具体安装命令如下:

      >pip install pip

     

    2.    Requests库安装验证

    Requests库安装完成后,验证安装是否成功。直接在python IDLE GUI环境下导入requests库,并简单使用requests.get(url)测试。

    测试命令如下:

      >>>import requests
    
      >>>r = requests.get(“http://www.baidu.com”)
    
      >>>r
    
      >>>r.status_code
    
      >>>r.text
    
      >>>r.encode

     3.    HTTP协议

      HTTP是一个机遇“请求”与“响应”模式的、无状态的应用层协议,起采用URL作为定位网络资源的表示,具体的URL格式见以下内容。

    3.1.      URL标准格式

      http://host:[:port][path]
    
      host:合法的Internet主机域名或IP地址
    
      port:端口号,缺省端口为80
    
      path:请求资源的路径

    3.2.      HTTP URL实例

      http://www.baidu.com
    
      http://123.234.123.234/study

    3.3.      HTTP URL的理解

      URL是通过HTTP协议来存取资源的Internet路径,一个URL对应一个数据资源。

    3.4.      HTTP协议资源的操作方法

     

       

    4.    Requests库7中方法

      

    5.    Requests库2个重要对象

      我们首先导入requests库,然后尝试获取http://www.baidu.com网页。

    >>>import requests
    
    >>>r = requests.get(“http://www.baidu.com”)

      上面这个使用requests库get方法抓取网页的过程,就产生了requests库的2个重要对象,具体对象说明如下。

      r就是“Response响应对象”,而requests.get()就是“Request请求对象”。其中Response对象包含服务返回的所有信息,同时也包含request请求信息内容。

       5.1.      Response对象

     

       Response对象包含了服务返回的所有信息内容,我们通多response这个对象可以获取任何我们想要获取的信息。

      同时Response对象也包含 的request信息内容,如下图所示,通过r.request.headers我们就是可以获取request请求头的信息内容。

     

     5.2.      Response对象的属性

      以下列表中,罗列出来了Response对象的几个常用属性。

       

    5.3.      理解Response编码

      

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

      注:r.text默认是根据r.encoding的编码方式来显示网页的内容。

      r.apparent_encoding:根据网页内容分析出编码的方式,可以看作是r.encoding的备选。

    6.    爬取网页通用代码框架

    6.1.      理解requests库异常

      r = requests.get(url) 进行网络资源获取的时候,可能会出现这样或者那样的异常请,我们需要有个稳定的处理框架来处理各种请求异常,以保证代码程序处理的稳定性。

      首先,我们学习和了解以下requests库的异常处理7中方式,具体内容如下。

       

      

    6.2.      通用代码框架

      

  • 相关阅读:
    WEB网站类型系统中使用的OFFICE控件
    【架构】原型设计工具一览
    【云计算】mesos+marathon 服务发现、负载均衡、监控告警方案
    【自动部署该怎么做?】
    【OpenStack 虚拟机初始化user-data & Cloud-init】
    【数据可视化 参考资料】
    【RabbitMQ 参考资料】
    【CloudFoundry】架构、设计参考
    【OpenStack项目管理-CPU/内存/存储/网络 配额管理】
    【前端自动化构建 grunt、gulp、webpack】
  • 原文地址:https://www.cnblogs.com/my1e3/p/6642875.html
Copyright © 2020-2023  润新知