| import streamlit as st |
| import requests |
| import time |
| from datetime import datetime |
|
|
| |
| def fetch_real_time_data(coin_id): |
| url = f"https://api.coingecko.com/api/v3/simple/price?ids={coin_id}&vs_currencies=usd" |
| try: |
| response = requests.get(url) |
| response.raise_for_status() |
| data = response.json() |
| return data |
| except requests.RequestException as e: |
| return {"error": str(e)} |
|
|
| |
| st.title("Real-Time Cryptocurrency Data") |
|
|
| |
| coin = st.selectbox("Select Cryptocurrency", ["bitcoin", "ethereum", "binancecoin"]) |
|
|
| |
| if st.button("Fetch Data"): |
| data = fetch_real_time_data(coin) |
| if "error" in data: |
| st.error(f"Error: {data['error']}") |
| else: |
| st.write(f"The current price of {coin.capitalize()} is: ${data[coin]['usd']}") |
|
|
| |
| st.write("Updating data every 5 minutes...") |
| while True: |
| data = fetch_real_time_data(coin) |
| if "error" in data: |
| st.error(f"Error: {data['error']}") |
| else: |
| st.write(f"Last updated at {datetime.now()}: The current price of {coin.capitalize()} is: ${data[coin]['usd']}") |
| time.sleep(300) |
|
|