如何获得两个请求之间的差异

时间:2019-05-21 13:19:52

标签: python python-requests

我正在创建一个比特币价格检查器。 使用该程序,它将请求发送到Bitstamp的API链接,并获取比特币的价格并打印出来。

我想知道如何计算BTC中的价格之间的差异

示例

  

比特币是每个硬币20美元

     

比特币是每个硬币$ 25(+5)

     

比特币是每个硬币$ 15(-10)

我不知道该怎么做或在哪里看,我在Google上进行了搜索,但还没有找到适合我的方法。 (我仍然是初学者)

代码:

import requests, json
from time import sleep

def getBitcoinPrice():
    URL = 'https://www.bitstamp.net/api/ticker/'
    try:
        r = requests.get(URL)
        priceFloat = float(json.loads(r.text)['last'])
        return priceFloat
    except requests.ConnectionError:
        print("Error querying Bitstamp API")

while True:
    print("BTC Price: $" + str(getBitcoinPrice()) + " per coin")
    sleep(60)

提前谢谢!

2 个答案:

答案 0 :(得分:3)

您可以保存之前的价格,并将其与每次请求比特币API时获得的价格进行比较。

这是您可以做到的方式:

import requests, json
from time import sleep

def getBitcoinPrice():
    URL = 'https://www.bitstamp.net/api/ticker/'
    try:
        r = requests.get(URL)
        priceFloat = float(json.loads(r.text)['last'])
        return priceFloat
    except requests.ConnectionError:
        print("Error querying Bitstamp API")

previous_price = 0
while True:
    bitcoin_price = getBitcoinPrice()
    print("BTC Price: ${} per coin ({})".format(bitcoin_price, bitcoin_price-previous_price))
    previous_price = bitcoin_price
    sleep(2)

答案 1 :(得分:0)

可以保存以前的价格,可以在第一次检索后计算出差价

import requests, json
from time import sleep

def getBitcoinPrice():
    URL = 'https://www.bitstamp.net/api/ticker/'
    try:
        r = requests.get(URL)
        priceFloat = float(json.loads(r.text)['last'])
        return priceFloat
    except requests.ConnectionError:
        print("Error querying Bitstamp API")

previous_price = None
while True:
    current_price = getBitcoinPrice()
    if not previous_price:  
        print("BTC Price: ${} per coin".format(current_price))
    else:
        print("BTC Price: ${} per coin ({})".format(current_price, current_price - previous_price))
    previous_price = current_price
    sleep(60)