zoukankan      html  css  js  c++  java
  • Python-网络爬虫模块-requests模块之请求

    Python原生库urllib库不太方便使用,本着"人生苦短, 我用Python"的珍惜生命精神, 基于urllib, 开发了一个对人类来说, 更好使用的一个库——requests

    requests模块的使用方法基本上是requests.方法(method,url,**kwargs),括号中传递各种参数的形式来实现不同的应用场景。

    各种请求方法:

    • request(method,url,**kwargs)
    • get(url, params=None, **kwargs)
    • post(url, data=None, json=None, **kwargs)
    • head(url, **kwargs)
    • options(url, **kwargs)
    • put(url, data=None, **kwargs)
    • patch(url, data=None, **kwargs)
    • delete(url, **kwargs)

    据源代码显示,下面七种也是基于request方法实现的

    request方法详细介绍:

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

    参数详解:

    • method:请求类型
    • url:请求的url

    **kwargs:动态参数,都是可选参数

    • params:

      参数类型:字典或bytes

      作用:一般用于get请求时传递数据

    • data:

      参数类型:字典,元祖列表、bytes、类文件对象

      作用:放在请求体中,一般用于post请求传递数据,会自动把数据转换成为&符号连接的形式,如果需要json字符串格式, 需要手动处理用json模块转换, 也可以借助另一个参数json

    • json:

        参数类型:字典

        作用:放在请求体中,一般用于post请求传递数据,会自动把字典转换成json字符串格式

    • headers

        参数类型:字典

        作用:定义HTTP请求头描述

    • cookies:

        参数类型:字典、Cookiejar

        作用:搞定发送给服务器的cookie

    • files

    参数类型:字典类型1:

          {"name": file-like-objects}

            字典类型2

      {"name": file-tuple}      name:服务器接收文件信息的字段名字
      file-tuple:('filename', fileobj, 'content_type', custom_headers)

          filename:文件名,不用需索引文件

          fileobj:文件句柄

          content_type:文件类型

          custom_headers:文件头部信息

          

    作用:向服务器上传文件

    • auth

        参数类型:元祖

        作用:用于HTTP Basic/Digest/Custom HTTP授权

    • timeout

    参数类型:float:超时时长

         tuple(连接超时,读取超时)

    作用:控制请求超时时间

    • allow_redirects

    参数类型:bool    (默认为True)

    作用:控制是否支持重定向

    • proxies

        参数类型:字典  {"协议":URL}

        作用:设置请求代理

    • verify

        参数类型:bool    是否验证SSL ,默认为True

           string    CA证书存放的路径

      作用:验证HTTPS请求

    • cert

        参数类型:string    ssl client cert file(.pem)

             tuple ("cent":"key")  

        作用:客户端验证

    • stream

        参数类型:bool

        作用:相应的内容,是否以分流式分批下载

    requests.request()的方法介绍就这么多,具体应用方式,代码操练

    其他的方法都是在内部调用了request方法,使用方式不需要加入method参数,其他都一样的

      

        

     

  • 相关阅读:
    【转载】Linux小白最佳实践:《超容易的Linux系统管理入门书》(连载六)Linux的网络配置
    Linux小白最佳实践:《超容易的Linux系统管理入门书》(连载五)Linux系统的对话方式
    Linux小白最佳实践:《超容易的Linux系统管理入门书》(连载四)本地或远程登录Linux
    【转载】Linux小白福利:《超容易的Linux系统管理入门书》(三)在虚拟机上安装Linux
    常用快递API及快递在线下单API分享
    浅谈PHP与手机APP开发即API接口开发
    身份证实名认证接口调用实例(PHP)
    Android 开发程序员必备网站
    调用聚合数据新闻头条API
    高效率完成工作的12种热门编程语言,你会用几个?
  • 原文地址:https://www.cnblogs.com/jayxuan/p/10775846.html
Copyright © 2011-2022 走看看