Есть ли способ проанализировать URL-адрес (с некоторой библиотекой python) и вернуть словарь python с ключами и значениями части параметров запроса URL-адреса?
Например:
url = "http://www.example.org/default.html?ct=32&op=92&item=98"
ожидаемое возвращение:
{'ct':32, 'op':92, 'item':98}
python
parsing
url
query-parameters
Леонардо Андраде
источник
источник
urllib.parse_qs
также возвращает списки значений. Я специально упоминаю об этом в своем ответе, кстати, вы можете использоватьurllib.parse_qsl()
вместо этого и пропустить полученный список,dict()
если вам просто нужны отдельные значения.parse_qls
, что , поскольку она возвращает список кортежей, преобразование , что в Словарь будет держать последнее значение вместо первого . Это, конечно, предполагает, что изначально было несколько значений.Если вы предпочитаете не использовать парсер:
Поэтому я не буду удалять то, что указано выше, но это определенно не то, что вам следует использовать.
Я думаю, что прочитал несколько ответов, и они выглядели немного сложными, если вы похожи на меня, не используйте мое решение.
Использовать это:
и для Python 2.X
Я знаю, что это то же самое, что и принятый ответ, только в одном лайнере, который можно скопировать.
источник
+
), аurllib.parse
также либо вызывает, либо игнорирует ошибки для вас по запросу. Я не уверен, зачем вам изобретать это колесо, если оно входит в стандартную библиотеку.Для Python 2.7
источник
Я согласен не изобретать колесо, но иногда (пока вы учитесь) это помогает построить колесо, чтобы понять колесо. :) Итак, с чисто академической точки зрения, я предлагаю это с оговоркой, что при использовании словаря предполагается, что пары значений имени уникальны (что строка запроса не содержит нескольких записей).
Я использую версию 3.6.5 в Idle IDE.
источник
Потому
python2.7
что я используюurlparse
модуль для анализа URL-запроса, чтобы диктовать.источник