답변:
파이썬 2 :
import urlparse
url = 'http://foo.appspot.com/abc?def=ghi'
parsed = urlparse.urlparse(url)
print urlparse.parse_qs(parsed.query)['def']
파이썬 3 :
import urllib.parse as urlparse
from urllib.parse import parse_qs
url = 'http://foo.appspot.com/abc?def=ghi'
parsed = urlparse.urlparse(url)
print(parse_qs(parsed.query)['def'])
parse_qs
값 목록을 반환하므로 위의 코드가 인쇄 ['ghi']
됩니다.
parse_qs
당신에게 목록 개체를 반환합니다. 문자열을 원한다면 첫 번째 요소를 얻어야합니다urlparse.parse_qs(parsed.query)['def'][0]
urlparse(url, allow_fragments=False)
그렇지 않으면 쿼리는 빈 str을 반환합니다.
from urllib.parse import urlparse, parse_qs
하고parse_qs(parsed.query)
urlparse.urlparse(url)
->urlparse(url)
이 솔루션이 아직 여기에 있지 않다는 것에 놀랐습니다. 사용하다:
request.GET.get('variable_name')
이렇게하면 "GET"사전에서 변수를 "가져오고"변수가 있으면 'variable_name'값을, 존재하지 않으면 None 객체를 반환합니다.
self
했지만 위의 의견에 동의합니다.
파이썬> 3.4
from urllib import parse
url = 'http://foo.appspot.com/abc?def=ghi'
query_def=parse.parse_qs(parse.urlparse(url).query)['def'][0]
furl이라는 새로운 라이브러리가 있습니다. 이 라이브러리가 url 대수를 수행하는 데 가장 비열한 것으로 판명되었습니다. 설치하기 위해서:
pip install furl
암호:
from furl import furl
f = furl("/abc?def='ghi'")
print f.args['def']
나는 이것이 조금 늦었다는 것을 알고 있지만 오늘 여기에서 나 자신을 발견 한 후에 이것은 다른 사람들에게 유용한 대답이라고 생각했습니다.
import urlparse
url = 'http://example.com/?q=abc&p=123'
parsed = urlparse.urlparse(url)
params = urlparse.parse_qsl(parsed.query)
for x,y in params:
print "Parameter = "+x,"Value = "+y
parse_qsl ()을 사용하면 "데이터가 이름, 값 쌍의 목록으로 리턴됩니다."
def getParams(url):
params = url.split("?")[1]
params = params.split('=')
pairs = zip(params[0::2], params[1::2])
answer = dict((k,v) for k,v in pairs)
도움이 되었기를 바랍니다
parameters = dict ([get_parsed_url [4] .split ( '&')]의 일부에 대한 [part.split ( '='))
이것은 간단합니다. 변수 매개 변수는 모든 매개 변수의 사전을 포함합니다.
import urllib.parse as urlparse