Python爬虫实战,openpyxl模块,监控比特币价格走势

前言

随着比特币价格的攀升,群众热情也不断高涨。都想跃跃欲试投资比特币,但是比特币交易你们了解多少呢?
今天给大家分享利用Python监控并保存比特币价格信息。

Python爬虫实战,openpyxl模块,监控比特币价格走势

开发工具

** 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):

Python爬虫实战,openpyxl模块,监控比特币价格走势

然后在cmd窗口运行bitcoin.py文件即可。

文章到这里就结束了,喜欢的朋友可以点波关注我每天分享Python数据爬虫案例系列,下篇文章分享是地理信息可视化

为了感谢读者们,我想把我最近收藏的一些编程干货分享给大家,回馈每一个读者,希望能帮到你们。

** 干货主要有:**

① 2000多本Python电子书(主流和经典的书籍应该都有了)

② Python标准库资料(最全中文版)

③ 项目源码(四五十个有趣且经典的练手项目及源码)

④ Python基础入门、爬虫、web开发、大数据分析方面的视频(适合小白学习)

⑤ Python学习路线图(告别不入流的学习)

⑥ 两天的Python爬虫训练营直播权限

** All done~完整源代码详见个人简介或者私信获取相关文件。。**

上一篇:unittest(1):openpyxl结合excel练习


下一篇:python中的openpyxl