Как я могу легко удалить информацию из URL? - PullRequest
1 голос
/ 04 апреля 2020

мои пользователи будут перенаправлены на мой сайт с такой информацией, как эта

http://127.0.0.1:8000/accounts/dasbboard/?trxref=621538940cbc9865e63ec43857ed0f&reference=621538940cbc9865e63ec43857ed0f

при использовании urllib даст мне

query='trxref=621538940cbc9865e63ec43857ed0f&reference=621538940cbc9865e63ec43857ed0f'

Но я не согласен с этим, я хотите иметь возможность получить номер после ссылки (621538940cbc9865e63ec43857ed0f), какой лучший способ сделать это, на мой взгляд? заранее спасибо.

1 Ответ

2 голосов
/ 04 апреля 2020

Вы можете сначала проанализировать URL с помощью urlparse, а затем использовать parse_qs, чтобы проанализировать часть строки запроса:

>>> from urllib.parse import urlparse, parse_qs
>>> url = 'http://127.0.0.1:8000/accounts/dasbboard/?trxref=621538940cbc9865e63ec43857ed0f&reference=621538940cbc9865e63ec43857ed0f'
>>> parse_qs(urlparse(url).query)
{'trxref': ['621538940cbc9865e63ec43857ed0f'], 'reference': ['621538940cbc9865e63ec43857ed0f']}

Это словарь, который отображает ключи в список значений, поскольку ключ может встречаться несколько раз. Затем мы можем получить ссылку с помощью:

>>> data = parse_qs(urlparse(url).query)
>>> data['reference'][0]
'621538940cbc9865e63ec43857ed0f'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...