业务场景:
有时候我们需要某个接口的请求参数,但是此参数在上一个接口里且是一个url路径,我们需要从这个url里提取出此参数放到下一个接口使用
例如我们需要提取图中上一个接口的urlApplet参数值里得extensionid的值
代码如下:
from urllib import parse
urlApplet="sub-packages/infomation-package/pages/coupon-detail/index?id=864&sourceThirdCode=10050300&extensionId=1570006863028359170"
a=parse.urlparse(url=url)
#print(a)打印结果
#ParseResult(scheme='', netloc='', path='sub-packages/infomation-package/pages/coupon-detail/index', params='', query='id=864&sourceThirdCode=10050300&extensionId=1570006863028359170', fragment='')
#我们根据上面的打印结果取query的值,打印print(a.query)结果如下:
#id=864&sourceThirdCode=10050300&extensionId=1570006863028359170
#借助parse.parse_qs()将参数转化为字典
b=parse.parse_qs(a.query)
#打印print(b)结果如下:
#{'id': ['864'], 'sourceThirdCode': ['10050300'], 'extensionId': ['1570006863028359170']}
#然后提取这个字典里我们想要的值
b=b.["extensionId"][0]
#打印print(b) 结果如下:
#1570006863028359170
这样提取出来的值可以用到我们下一个接口