Я использую Google API для получения json-данных о ближайших кофейнях. Для этого мне нужно закодировать широту и долготу в URL.
URL-адрес, который я получаю с помощью urlencode: https://maps.googleapis.com/maps/api/place/textsearch/json?query=coffee&location=22.303940%2C114.170372&radius=1000&maxprice=3&key=myAPIKEY
Как удалить «%2C» в URL-адресе? (Я показал свой код ниже)
serviceurl_placesearch = 'https://maps.googleapis.com/maps/api/place/textsearch/json?'
parameters = dict()
query = input('What are you searching for?')
parameters['query'] = query
parameters['location'] = "22.303940,114.170372"
while True:
radius = input('Enter radius of search in meters: ')
try:
radius = int(radius)
parameters['radius'] = radius
break
except:
print('Please enter number for radius')
while True:
maxprice = input('Enter the maximum price level you are looking for(0 to 4): ')
try:
maxprice = int(maxprice)
parameters['maxprice'] = maxprice
break
except:
print('Valid inputs are 0,1,2,3,4')
parameters['key'] = API_key
url = serviceurl_placesearch + urllib.parse.urlencode(parameters)
Я добавил этот фрагмент кода, чтобы URL-адрес работал, однако я не думаю, что это долгосрочное решение. Я ищу более долгосрочное решение.
urlparts = url.split('%2C')
url = ','.join(urlparts)
%2C
– это кодировка запятой в процентном кодировании. Требует ли API, который вы нажимаете, буквальную запятую, а не версию с процентным кодированием? - person Don Rowe   schedule 11.02.2020