【发布时间】:2018-03-31 15:47:23
【问题描述】:
使用 Python 如何从如下 URL 打印request_token:
https://kite.trade/?request_token=p87tOTSXRSp4O20TGr870n2JiXFKISIh&action=login&status=success
IE:= 到 & 之间的文本,跟在 request_token 之后。
【问题讨论】:
使用 Python 如何从如下 URL 打印request_token:
https://kite.trade/?request_token=p87tOTSXRSp4O20TGr870n2JiXFKISIh&action=login&status=success
IE:= 到 & 之间的文本,跟在 request_token 之后。
【问题讨论】:
我认为您正在寻找的是来自urllib.parse 的parse_qs。
from urllib.parse import urlparse, parse_qs #import stuff
#parse the url
url_obj = urlparse('https://kite.trade/?request_token=p87tOTSXRSp4O20TGr870n2JiXFKISIh&action=login&status=success')
#get a dictionary from the query
q_dict = parse_qs(url_obj.query)
#now get query args by key name.
print(q_dict["request_token"])
print(q_dict["status"])
【讨论】:
在python 2中使用urlparse库https://docs.python.org/2/library/urlparse.html
或者python 3中的urllib.parse https://docs.python.org/3/library/urllib.parse.html
【讨论】:
您可以使用字符串函数拆分字符串并将查询放入字典中,例如:
url = 'https://kite.trade/?request_token=p87tOTSXRSp4O20TGr870n2JiXFKISIh&' \
'action=login&status=success'
query = dict(a.split('=') for a in url.split('?')[1].split('&'))
print(query)
你可以使用 urllib 来做同样的事情:
import urllib
query = urllib.parse.parse_qs(urllib.parse.urlparse(url).query)
print(query['request_token'][0])
{'request_token': 'p87tOTSXRSp4O20TGr870n2JiXFKISIh', 'action': 'login', 'status': 'success'}
p87tOTSXRSp4O20TGr870n2JiXFKISIh
【讨论】: