Я полагаю, вы могли бы (используя базовые манипуляции с строкой) генерировать строку запроса в PreparedStatement
, чтобы количество ?
соответствовало количеству элементов в вашем списке.
Конечно, если вы делаете это, вы всего лишь шаг от создания гигантского прикованного OR
в своем запросе, но без правильного количества ?
в строке запроса, я не вижу, как вы можете обойти это.
Я рекомендую использовать awesome библиотеку запросов :
import requests
url = 'http://maps.googleapis.com/maps/api/directions/json'
params = dict(
origin='Chicago,IL',
destination='Los+Angeles,CA',
waypoints='Joplin,MO|Oklahoma+City,OK',
sensor='false'
)
resp = requests.get(url=url, params=params)
data = resp.json() # Check the JSON Response Content documentation below
Содержимое ответа JSON: http://docs.python-requests.org/en/latest / пользователь / Quickstart / # JSON-ответ-контент
import urllib
import json
url = 'http://maps.googleapis.com/maps/api/directions/json?origin=Chicago,IL&destination=Los+Angeles,CA&waypoints=Joplin,MO|Oklahoma+City,OK&sensor=false'
result = json.load(urllib.urlopen(url))
requests
имеет встроенный метод .json()
import requests
requests.get(url).json()
json.load()
или json.loads()
вместо этого, как в 0.x, json
- свойство, а не функция.
– nyuszika7h
9 December 2013 в 16:56
python-requests
(или python3-requests
), поэтому вам нужно будет установить где-то еще, чем /usr/local
, чтобы не нарушать эти пакеты. С другой стороны, когда мобильность / совместимость тривиальна, на мой взгляд, она того стоит.
– nyuszika7h
10 June 2014 в 21:53
r.json()
(из моего ответа) у вас есть реальный ответ, JSON-декодированный. Вы можете получить к нему доступ, как обычный list
/ dict
; print r.json()
, чтобы посмотреть, как это выглядит. Или обратитесь к документам API службы, для которой вы сделали запрос.
– linkyndy
17 January 2015 в 19:16
Используйте библиотеку запросов, довольно распечатывайте результаты, чтобы лучше находить ключи / значения, которые вы хотите извлечь, а затем используйте вложенные для циклов для анализа данных. В этом примере я выхожу шаг за шагом.
import json, requests, pprint
url = 'http://maps.googleapis.com/maps/api/directions/json?'
params = dict(
origin='Chicago,IL',
destination='Los+Angeles,CA',
waypoints='Joplin,MO|Oklahoma+City,OK',
sensor='false'
)
data = requests.get(url=url, params=params)
binary = data.content
output = json.loads(binary)
# test to see if the request was valid
#print output['status']
# output all of the results
#pprint.pprint(output)
# step-by-step directions
for route in output['routes']:
for leg in route['legs']:
for step in leg['steps']:
print step['html_instructions']
import pprint
затем - & gt; pprint.pprint(step['html_instructions'])
– Michael
16 February 2016 в 15:20
Попробуйте следующее:
import requests
import json
# Goole Maps API.
link = 'http://maps.googleapis.com/maps/api/directions/json?origin=Chicago,IL&destination=Los+Angeles,CA&waypoints=Joplin,MO|Oklahoma+City,OK&sensor=false'
# Request data from link as 'str'
data = requests.get(link).text
# convert 'str' to Json
data = json.loads(data)
# Now you can access Json
for i in data['routes'][0]['legs'][0]['steps']:
lattitude = i['start_location']['lat']
longitude = i['start_location']['lng']
print('{}, {}'.format(lattitude, longitude))
response.json()
должен бытьresp.json()
– ytpillai 8 March 2018 в 21:44