Pythontr

husonet | Tarih: 23.10.2019

Python string url parse işlemi

Özellikle loglama amacı için kullandığımız string url adreslerinin parçalama işlemi

Python 3.x


urllib.parse.parse_qs() ve urllib.parse.parse_qsl() metodları, birden fazla anahtar olabileceğini ve bu sıranın önemli olabileceğini dikkate alarak ayrıştırır.


http://docs.python.org/3/library/urllib.parse.html
>>> from urllib import parse
>>> url = "http://www.x.com/index.html?id=13&cat=33&val=66"
>>> parse.urlsplit(url)
SplitResult(scheme='http', netloc='www.x.com', path='/index.html', query='id=13&cat=33&val=66', fragment='')
>>> parse.parse_qs(parse.urlsplit(url).query)
{'val': ['66'], 'cat': ['33'], 'id': ['13']}
>>> dict(parse.parse_qsl(parse.urlsplit(url).query))
{'val': '66', 'cat': '33', 'id': '13'}

Python 2.7


>>> url = "http://www.x.com/index.html?id=32&cat=92&vaş=98"
>>> from urlparse import urlparse, parse_qsl
>>> # from django.http import HttpResponse, QueryDict # Django QueryDict
>>> parse_url = urlparse(url)
>>> query_dict = dict(parse_qsl(parse_url.query))
>>> # tmp_request = QueryDict(tmp_request.query) # Django QueryDict
>>> query_dict
{'id': '32', 'val': '98', 'cat': '92'}