随着比特币价格的攀升,群众热情也不断高涨。都想跃跃欲试投资比特币,但是比特币交易你们了解多少呢?
今天给大家分享利用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~完整源代码详见个人简介或者私信获取相关文件。。**