美文网首页
requests库的安装与使用

requests库的安装与使用

作者: shandingdongren | 来源:发表于2020-03-11 23:05 被阅读0次

    一、Mac平台安装requests库

      在终端中直接执行如下命令即可(前提是已经安装好python):

    $ pip install requests
    

      执行命令后会出现如下图所示的安装信息

    image.png

      安装好之后可以在终端中依次执行以下代码进行验证是否安装成功:

    $ python
    $ import requests
    $ r = requests.get('http://www.baidu.com')
    $ r.status_code
    $ r.text
    

      执行命令后的结果如下图所示:

    image.png

    二、request库用法介绍

    1、HTTP协议

      HTTP(Hypertext Transfer Protocol),即超文本传输协议。HTTP URL实例:

       http://www.baidu.com
       http://14.215.177.39

      URL是通过HTTP协议存取资源的Internet路径,一个URL对应于网上的一个唯一的数据资源。HTTP协议对资源的操作如下表所示:

    方法 说明
    GET 请求获取URL位置的资源
    HEAD 请求获取URL位置资源的相应消息报告,即获得该资源的头部信息
    POST 请求向URL位置的资源后附加新的数据
    PUT 请求向URL位置存储一个资源,覆盖原URL位置的资源
    PATCH 请求局部更新URL位置的资源,即局部替换
    DELETE 请求删除URL位置存储的资源

      六种方法中的前两个是通过网络访问URL位置处的资源(“取”),另外四个是用户对URL的资源进行操作(“存”)。

    2、requests库的主要方法

      requests库的七个主要方法如下表所示,其中第一个是最基本的方法,其余六个是对第一个方法的封装,对于爬虫而言最常用的是下表中第2~4行的方法,即get()、head()和post()

    用法 说明
    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请求

    &emsp: requests库的相关参数介绍

    1) params向提交的url中添加参数
    2 ) **kwargs参数(12个访问控制参数)

    data : 字典、字节序列或文件对象,作为Request的内容
    json : JSON格式的数据,作为Request的内容
    headers : 字典,HTTP定制头
    cookies : 字典或CookieJar,Request中的cookie
    auth : 元组,支持HTTP认证功能
    files : 字典类型,传输文件
    timeout : 设定超时时间,秒为单位
    proxies : 字典类型,设定访问代理服务器,可以增加登录认证
    allow_redirects : True/False,默认为True,重定向开关
    stream : True/False,默认为True,获取内容立即下载开关
    verify : True/False,默认为True,认证SSL证书开关
    cert : 本地SSL证书路径

    >>> kv = {'key1':'value1', 'key2':'value2'}
    >>> r = requests.request('GET', 'http://python123.io/ws', params=kv}
    >>> print(r.url)
    #http://python123.io/ws?key1=value1&key2=value2
    

    3、通用代码框架

      利用python的try except结构

    url='待爬取网站的url链接'
    try:
        r = requests.get(url)
        r.raise_for_status()     # 如果返回的状态码不是200,即获取页面失败,则抛出异常
        r.encoding = r.apparent_coding
        return r.text
    except:
        return '产生异常'
    

    相关文章

      网友评论

          本文标题:requests库的安装与使用

          本文链接:https://www.haomeiwen.com/subject/uukkjhtx.html