由于各大虚拟币交易平台更多地显示自己平台上的虚拟币交易信息,如果想同时看不同平台上的虚拟币交易情况时,就要打开很多页面而且需要不停地切换页面,操作非常不方便,于是就想着做一款工具,能实时显示当前不同虚拟币交易所的价格方便操作。
开始的计划是,分别调用自己感兴趣的平台提供的API,以获取当前不同币种的当前价格,但是在进行编程的时候,遇到一些困难:
1、获取速度问题:比如当需要获取比特币在不同平台上的价格信息时,就要分别访问各个平台的API,想要获取5个交易平台的比特币价格时,就要分别获取5次,当如果增加币种,比如莱特币,以太坊等时,访问的次数就会成倍增长,一个简单的公式:访问次数(s)=平台数(n)×币种数(m),这样效率非常低下;
2、数据格式问题:不同平台的API,返回的数据格式类型也是有很大区别的,当统计数据时就会因为数据格式不统一而显得非常凌乱,处理起来相当麻烦;
3、法币类型不一致:因为不同国家的发行的货币类型不一样,美国发行美元,日本发行日元,中国发行人民币,获取到的价格是以不同货币类型的价格,这里就为了便于观察需要将这些不同国家交易所的价格进行一个此时兑换人民币汇率的转换,也不是很方便。
所以就想着能不能找到哪一家交易平台已经把所有的平台的价格做了一个汇总,这样我只需访问这一个交易所的网站,我就能获取到所有的交易所不同币种的价格,对比分析了很多家,发现仅有几家交易所可以观察不同平台的价格:币看、sosobtc、比特儿。
1、首先是币看,这家交易所虽然提供了方便好用的API,但是收录的币种太少,只有几款主流币,很多山寨币没有收录,比如:比特股,狗狗等,所以不考虑。
2、sosobtc的API使用起来非常不方便,只有javascript的API,而且收录的平台和币种也是参差不齐,也不考虑。
3、接着是比特儿,比特儿的手机APP有一个全球行情的按钮,非常方便,如下图,而且它还帮你按照当前兑换人民币的汇率把价格换算好了,那么直接取来就能用,而且在同一网站上,数据格式也是同一规格,处理起来就相当方便了。
获取到想要的数据了,命令行界面看起来很吃力,不方便使用,所以用pyqt5来做GUI可视化界面,成果如下(可以按照差价率排序):