Как разобрать массивы URL в Python? - PullRequest
0 голосов
/ 22 апреля 2019

Я хочу проанализировать массив объектов в URL в Python.Я пытался использовать URL-адрес, как это:

url = "?query[]=item1&query[]=item2&query=item3"

и request.args.get('query') возвращает нет. Я также пытался использовать URL-адрес, как это:

url = "?query=item1&query=item2&query=item3"

и request.args.get('query') возвращает только элемент1. Как лучше всего разбить URL в список элементов?

Ответы [ 3 ]

0 голосов
/ 22 апреля 2019

Хотя это почти определенно неправильный способ сделать это, он все равно должен работать.

parsed = [x.split("=")[1] for x in url[1:].split("&")]

Я бы порекомендовал взглянуть на некоторые другие ответы, чтобы использовать библиотеку с более надежными и согласованными возможностями.

0 голосов
/ 22 апреля 2019

Попробуйте getlist()

print(request.args)
print(request.args.getlist('query'))   
print(request.args.getlist('query[]')) 

Для ?query[]=item1&query[]=item2&query=item3" это дает

ImmutableMultiDict([('query[]', 'item1'), ('query[]', 'item2'), ('query', 'item3')])
['item3'] # query
['item1', 'item2'] # query[]

Для ?query=item1&query=item2&query=item3" это дает

ImmutableMultiDict([('query', 'item1'), ('query', 'item2'), ('query', 'item3')])
['item1', 'item2', 'item3'] # query
[] # query[]
0 голосов
/ 22 апреля 2019

В python3 вы можете использовать urllib для этой задачи.

См. Документацию здесь urllib

Использование этой библиотеки позволит вам проанализировать строку вименованный кортеж, с помощью которого вы можете запросить нужную часть URL, а затем преобразовать ее в список или по мере необходимости в своей программе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...