可以说这是我的URL字符串:

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))&expires = 86400


从这里仅获得“ xxxxxx))”部分的最佳方法是什么?使用正则表达式?

最佳答案

这是一种实现方法-首先使用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))']

关于python - Python:用于解析URL组件的正则表达式,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36412816/

10-12 18:21