前言
随着比特币价格的攀升,群众热情也不断高涨。都想跃跃欲试投资比特币,但是比特币交易你们了解多少呢?
今天给大家分享利用Python监控并保存比特币价格信息。
开发工具
** Python版本:**3.6.4
** 相关模块:**
requests模块;
matplotlib模块;
openpyxl模块;
numpy模块;
以及一些Python自带的模块。
环境搭建
安装Python并添加到环境变量,pip安装需要的相关模块即可。
主要思路
随便Google了一个接口,每次请求接口后把比特币的价格信息提取出来就好了。
流程就是每隔一段时间通过请求Google到的接口来获取一次比特币价格信息,每获取一定量的信息就保存到Excel中。
就是这么简单。
具体实现过程详见个人主页 相关文件中的源代码。
部分代码
import requests
import json
import time
import matplotlib
import matplotlib.pyplot as plt
import openpyxl
import numpy as np
import datetime
is_ipython = 'inline' in matplotlib.get_backend()
if is_ipython:
from IPython import display
# 获取价格
def GetPrice():
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.146 Safari/537.36'
}
url = "https://api.coinmarketcap.com/v1/ticker/bitcoin"
res = requests.get(url, headers=headers)
temp = json.loads(res.text)
try:
price = temp[0]['price_usd']
return price
except:
print('[Warning]:No data now...')
return None
# 画图
def Draw(prices):
plt.figure(2)
plt.clf()
plt.title('BitCoin')
plt.xlabel('Time')
plt.ylabel('Price($)')
plt.plot(np.array(prices))
plt.pause(0.001)
if is_ipython:
display.clear_output(wait=True)
display.display(plt.clf())
# 保存数据
def Save(data):
save_time = time.strftime("<%Y-%m-%d>%H-%M-%S", time.localtime())
print('[Time]: %s' % save_time)
print('[INFO]: Start to save data...')
wb = openpyxl.load_workbook('./data.xlsx')
ws = wb.create_sheet(title=save_time)
ws.append(['Time', 'Price'])
for d in data:
ws.append(d)
wb.save('./data.xlsx')
wb.close()
finished_time = time.strftime("<%Y-%m-%d>%H-%M-%S", time.localtime())
print('[Time]: %s' % finished_time)
print('[INFO]: Data saved successfully...')
使用演示
根据需要修改源代码中的参数(bitcoin.py):
然后在cmd窗口运行bitcoin.py文件即可。
文章到这里就结束了,喜欢的朋友可以点波关注我每天分享Python数据爬虫案例系列,下篇文章分享是地理信息可视化
为了感谢读者们,我想把我最近收藏的一些编程干货分享给大家,回馈每一个读者,希望能帮到你们。
** 干货主要有:**
① 2000多本Python电子书(主流和经典的书籍应该都有了)
② Python标准库资料(最全中文版)
③ 项目源码(四五十个有趣且经典的练手项目及源码)
④ Python基础入门、爬虫、web开发、大数据分析方面的视频(适合小白学习)
⑤ Python学习路线图(告别不入流的学习)
⑥ 两天的Python爬虫训练营直播权限
** All done~完整源代码详见个人简介或者私信获取相关文件。。**