zoukankan      html  css  js  c++  java
  • requsets模块的学习

    requests模块的学习

    使用之前
    • pip install requests
    发起get,post,请求获取响应
    • response = requests.get(url,headers) # 发起get请求,请求url地址对应的响应
    • response = requests.post(url,data={请求体的字典}) # 发起post请求

    response的用法

    • response.text
      • 该方式往往会出现乱码,出现乱码使用response.encoding="utf-8"
    • response.content.decode()
      • 把响应的二进制字节转化为str类型
      • bytes---> str
    • response.request.url # 发送请求的url地址
    • response.request.headers # 请求头
    • response.headers # 响应头
    获取网页的正确打开方式(通过下面三种获取解码之后的字符串)
    • 1、response.content.decode()
    • 2、response.content.decode("gbk")
    • 3、response.text
    发起带headers的请求
    • 为了模拟浏览器,获取和浏览器一样的内容
      headers = {
          "User-Agent": "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:66.0) Gecko/20100101 Firefox/66.0",
          "Referer": "http: // acc.hnczt.gov.cn / SpaceAction.do?method = list & ntype = 3",
          "Cookie": "Hm_lvt_35cde00bcde87c267839e0309e482db1 = 1554703285, 1554777297, 1554884326"
          }
      response = requests.get(url,headers)
      
    使用超时参数
    • pip install retrying
    from retrying import retry
    
    @retry(stop_max_attempt_number=3)
    # 数字3代表的是下面的函数执行三次,有一次成功则跳过,没有一次成功则跑出异常
    def func():
        print("this is func")
        raise ValueError("this is test error")
    
    处理cookie相关的请求
    • 直接携带cookie请求url地址

      • 1、cookie放在headers中
      headers = {
            "User-Agent":"...","Cookie":"cookie字符串"
      }
      
      • 2、cookie字典传递给cookies参数
        • requests.get(url, cookies=cookie_dict)
    • 先发送post请求,获取cookie,带上cookie请求登录的页面

      • 1、session = requests.session() # session具有的方法和requests一样
      • 2、session.post(url, data, headers) # 服务器设置在本地的cookie存在session
      • 3、session.get(url) # 会带上之前保存在session中的cookie, 能够请求成功
  • 相关阅读:
    onkeydown事件
    单击循环事件
    for-in循环
    in运算符
    数组成员升序降序排列
    bzoj 3754: Tree之最小方差树 模拟退火+随机三分
    bzoj 3752: Hack 预处理+暴力dfs
    hdu 5269 ZYB loves Xor I 分治 || Trie
    bzoj 4501: 旅行 01分数规划+概率期望dp
    bzoj 4260: REBXOR Trie+乱搞
  • 原文地址:https://www.cnblogs.com/liudemeng/p/10714844.html
Copyright © 2011-2022 走看看