У меня есть следующий код:Как получить urllib2 ответ в формате JSON
import urllib2
response = urllib2.urlopen('http://python.org/')
Что бы самый простой способ, чтобы получить это в json
?
У меня есть следующий код:Как получить urllib2 ответ в формате JSON
import urllib2
response = urllib2.urlopen('http://python.org/')
Что бы самый простой способ, чтобы получить это в json
?
Выход «http://python.org/» не возвращает документы json.
Вы можете проверить типы вашей продукции, как показано ниже:
>>> import urllib2
>>> response = urllib2.urlopen('http://python.org/')
>>> response.headers.type
'text/html'
>>>
ОК, давайте посмотрим один пример ответа API JSON:
>>> response = urllib2.urlopen('http://api.icndb.com/jokes/random')
>>> response.headers.type
'application/json'
>>>
Итак, в типе заголовка вы можете увидеть «application/json», что означает, что ответ содержит json-документы.
>>> import json
>>> json_docs = json.load(response)
>>> print json_docs
{u'type': u'success', u'value': {u'joke': u'How many Chuck Norris require to screw a light bulb? None, he will screw it all.', u'id': 562, u'categories': []}}
>>>
Учитывая объект ответа, вы могли бы сделать
jsondata = json.load(response)
Конечно, вы будете извлечения данных из URL, который на самом деле данные JSON (http://python.org/
не JSON).