URL как разбор строки в python

Мне нужно проанализировать строку, которая является более или менее URL-адрес.. например, у меня есть строка, которая является URL

tempString = "?var1=somevalue1&var2=somevalue2&var3=somevalue3"

мне нужно разобрать строку tempString и получить значение var1 var2 а также var3 от него. Какой лучший способ получить значение.

4 ответа

Решение

Использование urlparse.parse_qs,

Это быстрый способ, но вам нужно будет указать хост и путь к строке примера.

import urlparse

scheme, netloc, path, query, fragment = urlparse.urlsplit( url )
parameters = urlparse.parse_qs( query )

Ну, если бы это был действительно URL ... или строка запроса URL (которая выглядит ближе к вашему примеру), то я полагаю, вы могли бы использовать функцию модуля.parse_qsl() модуля urlparse.

Например:

import urlparse
... 
qry = dict(urlparse.parse_qsl(tempString))
## parse_qsl returns a tuple of tuples suitable for instantiating or updating a dictionary

Используйте urlparse. Например, посмотрите это.

Другие вопросы по тегам