让我们说这是我的网址字符串:
https://stackexchange.com/oauth/login_success/#access_token=xxxxxx))&expires=86400
我想解析访问令牌部分“xxxxxx))”
这是我到目前为止所做的:
from urllib.parse import urlparse
strr = "https://stackexchange.com/oauth/login_success/#access_token=xxxxxx))&expires=86400"
o = urlparse(strr)
print(o.fragment)
我得到的输出是:
=的access_token XXXXXX))及期满= 86400
从这里只获得“xxxxxx))”部分的最佳方法是什么?使用正则表达式?
答案 0 :(得分:3)
以下是一种方法:首先使用urlparse()
,然后在parse_qs()
上致电fragment
:
>>> from urllib.parse import parse_qs, urlparse
>>>
>>> strr = "https://stackexchange.com/oauth/login_success/#access_token=xxxxxx))&expires=86400"
>>> o = parse_qs(urlparse(strr).fragment)
>>> print(o['access_token'])
['xxxxxx))']
答案 1 :(得分:0)
您可以使用正则表达式:
(?<=access_token=)[^\)]*