output.py 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. import streamlit as st
  2. import requests
  3. import json
  4. # 数据获取函数
  5. def get_bitcoin_price():
  6. try:
  7. # 获取 Bitcoin 的价格数据
  8. response = requests.get('https://api.coingecko.com/api/v3/simple/price?ids=bitcoin&vs_currencies=usd&include_24hr_change=true')
  9. data = response.json()
  10. # 获取当前价格和24小时变化
  11. current_price = data['bitcoin']['usd']
  12. price_change_percentage = data['bitcoin']['usd_24h_change']
  13. return current_price, price_change_percentage
  14. except requests.exceptions.RequestException as e:
  15. st.error(f"Error fetching data: {e}")
  16. return None, None
  17. # 初始化 Streamlit 应用
  18. st.title('实时比特币价格')
  19. st.subheader('获取最新的比特币价格信息及其24小时价格变化趋势')
  20. # 添加刷新按钮
  21. if st.button('刷新价格'):
  22. st.experimental_rerun()
  23. # 显示加载状态
  24. with st.spinner('加载中...'):
  25. current_price, price_change_percentage = get_bitcoin_price()
  26. # 显示数据
  27. if current_price is not None:
  28. st.metric(label="当前比特币价格 (USD)", value=f"${current_price}")
  29. if price_change_percentage is not None:
  30. st.metric(label="24小时变化 (%)", value=f"{price_change_percentage:.2f}%")
  31. else:
  32. st.error("无法获取数据,请稍后重试。")