我正在为algo交易开发一个python项目,因为我必须生成一个用于身份验证的请求令牌。可以从代理站点的url获取令牌。url如下所示。我已经使用selenium提取了url
https://zerodha.com/?request_token=**JZhT0vAv6L0ox9ZQdZCWhTWNUGLiLwXr**&action=login&status=success
突出显示的字母数字代码是请求令牌。我使用了下面的代码来提取它
My_url = 'https://zerodha.com/request_token=JZhT0vAv6L0ox9ZQdZCWhTWNUGLiLwXr&action=login&status=success'
print(My_url)
print(type(My_url))
A_strip= My_url.strip('https://zerodha.com/?request_token=')
print(A_strip)
request_token = A_strip.strip('&action=login&status=success')
print(request_token)
print(len(request_token))
预期输出为32个字符的文本:JZhT0vAv6L0ox9ZQdZCWhTWNUGLiLwXr
但每次代码的工作方式都不同。示例参考下面的代码
My_url = 'https://zerodha.com/?request_token=HF4Bp4umtdFeC5n50auCA3DBim4N1Sto&action=login&status=success'
A_strip= My_url.strip('https://zerodha.com/?request_token=')
request_token = A_strip.strip('&action=login&status=success')
print(request_token)
print(len(request_token))
上面的输出应该是HF4Bp4umtdFeC5n50auCA3DBim4N1Sto
,但我得到的是HF4Bp4umtdFeC5n50auCA3DBim4N1S
,一个30个字符的文本输出
除了令牌,url的其余部分是相同的。我很困惑它是如何每次生成不同的值的。请帮我摆脱困境
.strip()
用于删除前导/尾随字符。作为参数提供的不是要删除的序列,而是一组字符由于
t
和o
在您提供的序列中,它们被从字符串尾部删除,因为它们被视为尾随字符。删除操作在S
处停止,因为此字母不在您提供的集合中如果您的令牌不是以
H
、例如a
或c
等开头,它也会从前面移除,因为它会被视为主角要解决这个问题,您可以使用正则表达式,也可以简单地对字符串进行切片,因为您知道开始和结束的长度
相关问题 更多 >
编程相关推荐