Конвертировать URL для гусеничного - PullRequest
2 голосов
/ 14 июня 2010

Я работаю на гусеничном шасси.Обычно, когда я набираю url1 в моем браузере, браузер преобразует его в url2.Как я могу сделать это в Python?

url1: www.odevsitesi.com/ara.asp?kelime=doğanın dengesinin bozulması

url2: www.odevsitesi.com/ara.asp?kelime= делать% F0an% FDN% 20dengesinin% 20bozulmas% FD

Ответы [ 2 ]

5 голосов
/ 14 июня 2010

Вам необходимо правильно закодировать URL (iso-8859-9 в вашем случае), разделить его на части, urllib.quote части запроса и соединить снова. I.e.:

>>> import urlparse
>>> import urllib
>>> x = u'http://www.odevsitesi.com/ara.asp?kelime=doğanın dengesinin bozulması' 
>>> y = x.encode('iso-8859-9')
>>> # just to show what the split of y looks like (we can also handle it as a tuple):
>>> urlparse.urlsplit(y)
SplitResult(scheme='http', netloc='www.odevsitesi.com', path='/ara.asp', query='kelime=do\xf0an\xfdn dengesinin bozulmas\xfd', fragment='')
>>> z = urlparse.urlsplit(y)
>>> quoted = z[:3] + (urllib.quote(z.query), z.fragment)
>>> # now just to show you what the 'quoted' tuple looks like:
>>> quoted
('http', 'www.odevsitesi.com', '/ara.asp', 'kelime%3Ddo%F0an%FDn%20dengesinin%20bozulmas%FD', '')
>>> # and finally putting it back together:
>>> urlparse.urlunsplit(quoted)
'http://www.odevsitesi.com/ara.asp?kelime%3Ddo%F0an%FDn%20dengesinin%20bozulmas%FD'
4 голосов
/ 14 июня 2010

urllib.quote

http://docs.python.org/library/urllib.html#urllib.quote

Пример: quote('/~connolly/') выход '/%7econnolly/'.

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