查询字符串传递错误

时间:2012-01-25 09:34:38

标签: python html

我正在使用网址获取特定城市的经度和纬度。当我通过 “纽约”作为它不会给出任何结果的字符串,但当我通过“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'

2 个答案:

答案 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'