/ / Python-JSON - Как да анализираме API изхода? - питон, json

Python-JSON - Как да анализираме изхода на API? - питон, json

Аз съм съвсем нов.

Написах този python скрипт, за да направя API извикване от blockr.io, за да проверя баланса на няколко bitcoin адреси.

Съдържанието на btcaddy.txt са биткойн адреси, разделени със запетаи. За този пример нека го анализира това.

import urllib2
import json


btcaddy = open("btcaddy.txt","r")


urlRequest = urllib2.Request("http://btc.blockr.io/api/v1/address/info/" + btcaddy.read())
data = urllib2.urlopen(urlRequest).read()
json_data = json.loads(data)

balance = float(json_data["data""address"])
print balance

raw_input()

Това обаче ми дава грешка. Какво правя погрешно? За сега, как да го накарам да отпечата баланса на адресите?

Отговори:

1 за отговор № 1

Направихте няколко неща погрешно в кода си. Препоръчвам ви цикъл.

import json
import urllib

addresses = open("btcaddy.txt", "r").read()

base_url = "http://btc.blockr.io/api/v1/address/info/"
request = urllib.urlopen(base_url+addresses)
result = json.loads(request.read())["data"]
for balance in result:
print balance["address"], ":" , balance["balance"], "BTC"

Не се нуждаете от входен сигнал в края.


1 за отговор № 2

Въпросът ви е ясен, но опитите ви не.

Казахте, че имате файл, поне с повече от регистър. Така че трябва да изтеглите редовете на този файл.

with open("btcaddy.txt","r") as a:
addresses = a.readlines()

Сега можете да прегледате регистрите и да направите заявка към това uri. Най- urllib модул е ​​достатъчен за тази задача.

import json
import urllib

base_url = "http://btc.blockr.io/api/v1/address/info/%s"

for address in addresses:
request = urllib.request.urlopen(base_url % address)
result = json.loads(request.read().decode("utf8"))
print(result)

HTTP изпраща байтове като отговор, така че трябва да ни направите decode("utf8") като подход за обработка на данни.