Я пытаюсь проанализировать часть запроса URL-адреса и получить уникальные имена переменных запроса.
from urllib.parse import urlparse, parse_qs
unquoted_url = '?id=test+staging@test.io&p=/#/class/my_finance&e={"name":"asset_download","payload":{"filename":"my_finance.pdf","linkParams":"client=staging&ui=1.5.14&data=1.15.2s"}}&t=1588369315106&pl={"firefox":true,"version":"75.0","versionNumber":75,"mac":true,"desktop":true,"name":"firefox","platform":"mac"}&cb=1587896316419'
parsed = urlparse(unquoted_url)
Применение parse_qs
к parsed.query+parsed.fragment
дает следующее:
print(parse_qs(parsed.query + parsed.fragment))
{'id': ['test staging@test.io'],
'p': ['//class/my_finance'],
'e': ['{"name":"asset_download","payload":{"filename":"my_finance.pdf","linkParams":"client=staging'],
'ui': ['1.5.14'],
'data': ['1.15.2s"}}'],
't': ['1588369315106'],
'pl': ['{"firefox":true,"version":"75.0","versionNumber":75,"mac":true,"desktop":true,"name":"firefox","platform":"mac"}'],
'cb': ['1587896316419']}
Как мне сделать переменные 'ui'
и 'data'
как часть "linkParams"
в более широком ключе 'e'
в словаре? parse_qs
, кажется, разделяет их на основе '&'
разделителя.