zoukankan      html  css  js  c++  java
  • Requests库的使用

    1. 发起请求
    2. 接收响应
    3. session对象

    发起请求

    请求方法

    get、post、head、options、delete、put

    传递URL参数

    构造一个字典,并在请求时将其传递给params参数

    提交数据时,遇到相同的参数名,但有不同的值,而python的字典又不支持键的重名,可以把键的值用列表表示

    自定义Headers

    自定义Cookies

    在headers中添加

    cookies参数(必须为字典形式)

    设置代理(proxies参数)

    重定向

    allow_redirects=False 禁止重定向

    history 属性可以查看历史记录,从哪个网站过来的,重定向过来的会显示重定向的状态码

    禁止证书验证

    把verify参数设置为False

    禁止证书验证后,会有warning

    关闭警告

    from requests.packages.urllib3.exceptions import InsecureRequestWarning

    requests.packages.urllib3.disable_warnings(InsecureRequestWarning)

    设置超时      timeout属性

    以流形式下载    stream=True

    接收响应

    响应内容

    text属性,返回的是文本内容

    字符编码

    Requests会自动的根据响应的报头来猜测网页的编码是什么,然后根据猜测的编码来解码网页内容,基本上大部分的网页都能够正确的被解码

    而如果发现text解码不正确的时候,就需要自己手动的去指定解码的编码格式

    二进制数据

    如果需要获得原始的二进制数据,那么使用content属性即可

    json数据

    如果访问之后获得的数据是JSON格式的,那么可以使用json()方法,直接获取转换成字典格式的数据

    状态码

    通过status_code属性获取响应的状态码

    响应报头

    headers属性

    服务器返回的cookies

    cookies属性

    查看访问的url

    url属性

    Session对象

    在Requests中,实现了Session(会话)功能,当我们使用Session时,能够像浏览器一样,在没有关闭浏览器时,能够保持住访问的状态

    这个功能常常用于登陆之后的数据获取,使我们不用再一次又一次的传递cookies

    首先生成一个Session对象,然后用这个Session对象来发起访问,发起访问的方法与正常的请求一摸一样

    需要注意的是,如果是在get()方法中传入headers和cookies等数据,那么这些数据只在当前这一次请求中有效

    如果想要让一个headers在Session的整个生命周期内都有效的话,需要进行设置:session.headers.updata(headers)

  • 相关阅读:
    野心和实力的磨合
    tpm
    菜猫学习linux笔记(1)
    调试理解过程
    TSS学习记录
    RSA加密算法理解(整理自网络)
    *args和**kwargs在python中的作用
    在 Ubuntu 16.04 中安装谷歌 Chrome 浏览器
    ubuntu安装微信客户端
    ubuntu 桌面操作系统安装WPS办公软件的方法
  • 原文地址:https://www.cnblogs.com/jiyu-hlzy/p/11802224.html
Copyright © 2011-2022 走看看