网络爬虫丨基于requests爬取比特币信息并绘制价格走势图
import requests
import json
from datetime import datetime
import matplotlib.pyplot as plt
# 定义函数获取比特币实时价格
def get_btc_price():
url = 'https://api.coindesk.com/v1/bpi/currentprice.json'
response = requests.get(url)
if response.status_code == 200:
return response.json()['bpi']['USD']['rate_float']
else:
return "Error fetching data"
# 定义函数获取比特币历史价格
def get_btc_history_price(days):
url = 'https://api.coindesk.com/v1/bpi/historical/close.json'
response = requests.get(f'{url}?start=0&end={days}d')
if response.status_code == 200:
return response.json()['bpi']
else:
return "Error fetching data"
# 获取比特币实时价格
current_price = get_btc_price()
print(f"比特币当前价格(美元): {current_price}")
# 获取过去一周的比特币价格
past_seven_days_prices = get_btc_history_price(7)
# 绘制价格走势图
dates, prices = zip(*past_seven_days_prices.items())
plt.plot(dates, prices)
plt.xlabel('Date')
plt.ylabel('Price ($)')
plt.title('Bitcoin Price Trend (Past 7 Days)')
plt.xticks(rotation=45)
plt.show()
这段代码首先定义了两个函数get_btc_price
和get_btc_history_price
,分别用于获取比特币的实时价格和过去一段时间的价格。然后,分别调用这两个函数,并打印出结果。最后,使用matplotlib绘制了价格走势图,并展示出来。这个例子简单直观地展示了如何使用requests库获取API数据,以及如何使用matplotlib进行数据可视化。
评论已关闭