我很新。
我编写了这个python脚本来从blockr.io进行API调用,以检查多个比特币地址的平衡。
btcaddy.txt的内容是用逗号分隔的比特币地址。对于此示例,请让它解析this。
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()
然而,它给了我一个错误。我究竟做错了什么?目前,如何让它打印地址的余额?
答案 0 :(得分:1)
你的问题很明确,但你的尝试没有。
你说过,你有一个文件,至少有一个以上的注册表。所以你需要检索这个文件的行。
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发送字节作为响应,因此您应该以{{1}}作为处理数据的方法。
答案 1 :(得分:1)
你的代码中有很多错误。这是我的修复。我推荐一个for循环。
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"
你最后也不需要输入。