我正在使用网址获取特定城市的经度和纬度。当我通过 “纽约”作为它不会给出任何结果的字符串,但当我通过“New%20York”时它确实如此。如何将纽约字样传递给查询字符串?
current_location = 'New york' #not working
current_location2 = 'New%20York' # working
location_string = 'http://maps.googleapis.com/maps/api/geocode/json?address=' +current_location+ '&sensor=false'
答案 0 :(得分:5)
urllib.urlencode()
将为您处理查询字符串的生成。
答案 1 :(得分:5)
使用urllib.quote()
或urllib.quote_plus()
将字符替换为%xx
等效字符或urllib.urlencode()
,以便从您打算进入网址的变量字典中构造查询字符串。例如:
>>> import urllib
>>> urllib.quote('New York')
'New%20York'
>>> urllib.quote_plus('New York')
'New+York'
>>> urllib.urlencode({'address': 'New York', 'sensor': 'false'})
'sensor=false&address=New+York'