Форум сайта python.su
Добрый день!
Подскажите, пожалуйста, как преобразовать url вида:
http://www.domen.ru/index_avtoitem.php?do=5&kolRazdelov=1&seeID=408&seeArticle=1&meta_statii=FAQ - Японский Автомобиль&searchword=
http://www.domen.ru/index_avtoitem.php?do=5&kolRazdelov=1&seeID=408&seeArticle=1&meta_statii=FAQ%20-%20%DF%EF%EE%ED%F1%EA%E8%E9%20%C0%E2%F2%EE%EC%EE%E1%E8%EB%FC&searchword=
Офлайн
test = 'do=5&kolRazdelov=1&seeID=408&seeArticle=1&meta_statii=FAQ - Японский Автомобиль'
print urllib.quote(test, '&=' )
Офлайн
s0rg, спасибо!
вот что получилось (может кому пригодится). Проблема была в том, что “urllib2.Request” выдавал ошибку “400: Bad request” из-за кириллицы в url адресе.
def normalize_url(url, to_del=''):
parsed = list(urlparse.urlparse(url))
query = "&" + parsed[-2].replace("&", "&")
to_del_re = re.compile("("+"|".join(
[("[&]%s=[^&]+" % i) for i in to_del.split()]
) +")")
query = to_del_re.sub("", query).lstrip("&")
parsed[-2] = urllib.quote(query.encode('cp1251'), '&=' )
newurl = urlparse.ParseResult(*parsed)
return newurl.geturl()
url = u'http://www.domen.ru/index_avtoitem.php?do=5&kolRazdelov=1&seeID=408&seeArticle=1&meta_statii=FAQ - Японский Автомобиль&searchword='
url2= normalize_url(url)
request = urllib2.Request(url2.encode('cp1251'))
...
Офлайн