2015-01-04 3 views
-1

Почему я получаю эту ошибку при попытке распечатать ключи из словаря?Я продолжаю получать [u'error ']

import urllib 
import urllib2 
import json 

ret = urllib2.urlopen(urllib2.Request('https://poloniex.com/public?command=returnTicker')) 
a = json.loads(ret.read()) 
print a.keys() 

ret = urllib2.urlopen(urllib2.Request('https://poloniex.com/public?command=return24Volume')) 
b = json.loads(ret.read()) 
print b.keys()    
+1

Проблема находится на удаленном сервере ; это не вопрос, подходящий для SE, и его следует удалить. –

+0

Хотя проблема возникает на удаленном сервере (я только что проверил и, похоже, снова работает), ваш код не должен разбиваться/прерываться, если ресурс удаляется/отключается в будущем (т. Е. Возвращает 404, 50x), или если ресурс не отвечает во времени (таймаут). Читайте об ошибках ловли в urllib2: http://stackoverflow.com/questions/3256576/catching-http-errors – Bjorn

ответ

1

Ошибка отправлена ​​с сайта. Дик загружается и выражает ошибку, поскольку это только ключ.

Попробуйте это:

ret = urllib2.urlopen(urllib2.Request('https://poloniex.com/public?command=return24hVolume')) 
b = json.loads(ret.read()) 
print b.keys()   

Обратите внимание на 'ч' в return24hVolume.

+1

Мне очень жаль, что я беспокоил вас этим. У меня действительно есть необходимые ключи API, и я удалил код, чтобы показать только ошибку. Я потратил больше часа, чтобы понять это, и смущающе было то, что «h» в обратном порядке, как вы указали. Большое спасибо. Изучение урока – Karlos

+0

@ Карлос случается со всеми нами. –

3

Ошибка производится с помощью веб-сайта - ваш код как таковой в порядке, он производит JSON-объект, который имеет структуру, по-видимому «{„ошибка“:„“}». Попробуйте распечатать его & выяснить, что случилось, вам, вероятно, нужны некоторые маркеры аутентификации или подобные вещи.

Там, кажется, API обертка доступны, вы должны рассмотреть возможность использования или, по крайней мере, понять его: http://pastebin.com/8fBVpjaj

Это непосредственно размещенные на polniex сайте, и это явно свидетельствует о необходимости API тайны и ключа.

Смежные вопросы