前言
随着比特币價格的攀升,群衆熱情也不斷高漲。都想躍躍欲試投資比特币,但是比特币交易你們了解多少呢?
今天給大家分享利用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資料爬蟲案例系列,下篇文章分享是地理資訊可視化