我正在尝试转换以下网址
http://www.website.com/search/si/1/doctors/Vancouver, BC
到
http://www.website.com/search/si/1/doctors/Vancouver%2C%20BC
我试过
urllib.quote('http://www.website.com/search/si/1/doctors/Vancouver, BC', '')
它导致用百分号替换所有内容。
这样做的正确方法是什么?
答案 0 :(得分:1)
使用urllib.quote()
为网址path
保留其他所有内容:
from urllib import quote
from urlparse import urlparse, urlunparse
url = "http://www.website.com/search/si/1/doctors/Vancouver, BC"
scheme, netloc, path, params, query, fragment = urlparse(url)
path = quote(path)
print urlunparse((scheme, netloc, path, params, query, fragment))
打印:
http://www.website.com/search/si/1/doctors/Vancouver%2C%20BC
另见:
答案 1 :(得分:0)
urllib.quote('www.website.com/search/si/1/doctors/Vancouver, BC')
没有第二个参数AND没有协议部分http://
。第二个参数是一个不可替换的安全字符列表,默认为'/'
,在您的情况下可以。