python接口自动化测试十四: 用正则表达式提取数据

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]是取下标第一个
'''

 

转载于:https://www.cnblogs.com/dwdw/p/9553192.html

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值