当前位置:
首页 > temp > python入门教程 >
-
Python爬虫实战,openpyxl模块,监控比特币价格走势
前言
随着比特币价格的攀升,群众热情也不断高涨。都想跃跃欲试投资比特币,但是比特币交易你们了解多少呢?
今天给大家分享利用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文件即可。
出处:https://www.cnblogs.com/daimubai/p/14974349.html
最新更新
nodejs爬虫
Python正则表达式完全指南
爬取豆瓣Top250图书数据
shp 地图文件批量添加字段
爬虫小试牛刀(爬取学校通知公告)
【python基础】函数-初识函数
【python基础】函数-返回值
HTTP请求:requests模块基础使用必知必会
Python初学者友好丨详解参数传递类型
如何有效管理爬虫流量?
2个场景实例讲解GaussDB(DWS)基表统计信息估
常用的 SQL Server 关键字及其含义
动手分析SQL Server中的事务中使用的锁
openGauss内核分析:SQL by pass & 经典执行
一招教你如何高效批量导入与更新数据
天天写SQL,这些神奇的特性你知道吗?
openGauss内核分析:执行计划生成
[IM002]Navicat ODBC驱动器管理器 未发现数据
初入Sql Server 之 存储过程的简单使用
SQL Server -- 解决存储过程传入参数作为s
关于JS定时器的整理
JS中使用Promise.all控制所有的异步请求都完
js中字符串的方法
import-local执行流程与node模块路径解析流程
检测数据类型的四种方法
js中数组的方法,32种方法
前端操作方法
数据类型
window.localStorage.setItem 和 localStorage.setIte
如何完美解决前端数字计算精度丢失与数