zoukankan      html  css  js  c++  java
  • python接口自动化测试十四: 用正则表达式提取数据

    import requests
    import re

    url = 'xxxx'
    r = requests.post(url)

    # 正则公式:
    postid = re.findall(r"(.+?)", r.url)    # r.url:匹配的url对象


    # ^表示从头开始匹配
    u = re.findall(r"^(.+?)?", url)
    
    
    # 如果参数在末尾,匹配到最后
    # 参数:postid=35454&actiontip=按时发
    res = re.findall(r"actiontip=(.+?)$", r.url)
    
    
    # 知道字符串前、后,取中间,这里的前、后所代表的值须为固定不变的
    postid = re.findall(r"前(.+?)后", r.url)

    # 参数:postid=35454&actiontip=按时发
    # 取:35454   前“postid=”   后“&”
    postid = re.findall(r"postid=(.+?)&", r.url)
    print(postid)       # 这里是list
    print(postid[0])    # 提取为字符串



    # 参数关联
    url1 = 'xxxxx'
    body = {'postid': postid}
    r1 = requests.post(url, json=body)
    # 判断请求是否成功
    if r1.json()['xx']:
      print('成功')
    else:
      print('失败')

     '''

    # 正则提取需要的参数值
    import re
    postid = re.findall(r"postid=(.+?)&", r2.url)
    print postid 
    # 这里是list

    # 提取为字符串
    print postid[0]

    1.先导入re模块
    2.re.findall(匹配规则,查找对象)是查找所有符合规则的
    3. postid=(.+?)&  这个意思是查找postid=开头,&结尾的,返回字符串中间内容,如:postid=12345&a=111
    那就返回[‘12345’]
    4.返回的结果是list
    5.list[0]是取下标第一个
    '''
  • 相关阅读:
    2、netlink简介
    1、netlink 连接器 通信机制
    第一章 02 谈谈static关键词
    第一章 01 namespace 命名空间
    第一章 00 StringUtil.cpp和StringUtil.hh分析
    说说log4cplus
    Jq 操作json
    怪怪的bug,提示值不能为空,连action都不进
    浏览器兼容性部分---FF&IE678
    Jquery 随笔
  • 原文地址:https://www.cnblogs.com/malinalian/p/10482764.html
Copyright © 2011-2022 走看看