无法在区块链 python 客户端中使用 get_chart 函数

Cant use get_chart function in blockchain python client

正在尝试 运行

import blockchain
from blockchain import statistics

get_chart(chart_type="mempool-size", time_span="1year")

给出函数未定义错误,尽管 get_chartstatistics.py 文件中为 blockchain.info 客户端定义。我如何 运行 get_chart 函数?

有没有人有任何解决问题的想法?问题已经提出了几天,我被困住了。我已经检查了 GitHub 存储库中的问题,但找不到任何问题,还没有尝试任何其他方法,因为我不确定从哪里开始。

我很满意任何可以从 https://blockchain.info

获取图表数据的 python 解决方案

正如您所说,get_chart 是在 blockchain.statistics 中定义的,但是导入 statistics 模块确实会将其成员带入全局命名空间。你必须从它上面打点才能访问它的成员,比如 get_chart:

from blockchain import statistics

statistics.get_chart(chart_type="mempool-size", time_span="1year")

或者您可以直接导入函数:

from blockchain.statistics import get_chart

get_chart(chart_type="mempool-size", time_span="1year")

不幸的是,这无法解决手头的更大问题,即软件包的存储库似乎已被放弃。对于您的请求,它会尝试从 URL https://blockchain.info/charts/mempool-size?format=json&timespan=1year 访问数据,这会导致它下载 HTML 页面而不是 JSON.

不过,您可以使用此处提供的文档访问图表 API:https://www.blockchain.com/api/charts_api

根据您的要求,正确的 URL 使用是:https://api.blockchain.info/charts/mempool-size?format=json&timespan=1year

您可以下载它并将 JSON 解析为字典,如下所示:

import json
from urllib.request import urlopen

url = 'https://api.blockchain.info/charts/mempool-size?format=json&timespan=1year'
data = json.loads(urlopen(url).read())