第一次在简书写东西,思来想去不知道拿什么入手,最终还是决定追踪热门话题写一篇关于Python和理财的文章吧,说到理财股票是逃不过去的一关,说到大数据分析Python又是最热门的语言,今天的重点是用Python获取股票数据,所以这里我们直接用比较热门的股票接口Tushare,因为这个接口可以省去我们许多写爬虫,算MA的时间,很多直接通过接口就可以调出。开始前大家需要去Tushare官网注册一个账号获取Key.Tushare注册入口,先给大家看看都能干啥
是不是很强大!!话不多说这里先演示一遍如何将所有股票每天的数据记录转存到我们自己的Mysql服务器。
PS:需要懂点Mysql额,练习的同学可以跑一个Centos虚拟机然后装一个Mysql Server.如果你想问怎么弄虚拟机,怎么装Centos,怎么装Mysql,这些有兴趣的话我们以后再讨论
上码:
# -*- coding: utf-8 -*-
"""
Created on Tue Dec 24 13:38:13 2019
@author: lovet
"""
###导入关键的包
from sqlalchemy import create_engine
import tushare as ts
import mysql.connector
###连接Tushare服务器
ts.set_token('你注册Tusgare之后获取到的key')
pro = ts.pro_api()
companyList = pro.stock_basic(exchange='',list_status='L', fields='ts_code')
#删除表
mydb = mysql.connector.connect(
##配置Mysql服务器参数,包括服务器IP,用户名,密码,数据库名称###
host="服务器IP",
user="用户名",
passwd="密码",
database="数据库名称"
)
##连接数据库
mycursor = mydb.cursor()
sql = "DROP TABLE IF EXISTS daily_basic"
mycursor.execute(sql)
for i in range(len(companyList)):
try:
##获取股票数据
df = pro.daily_basic(ts_code=companyList.ts_code[i], trade_date='', fields='ts_code,trade_date,close,turnover_rate,turnover_rate_f,volume_ratio,pe,pe_ttm,pb,ps,ps_ttm,dv_ratio,dv_ttm,total_share,float_share,free_share,total_mv,circ_mv')
###导入数据
engine = create_engine('mysql://StockAnalysis:dGKLKL5b7nNsiRwB@192.168.50.198:3306/StockAnalysis?charset=utf8')
df.to_sql('daily_basic',engine,if_exists='append')
print('Seq: ' + str(i+1) + ' of ' + str(len(companyList)))
except Exception as aa:
print(aa)
print('No DATA Code: ' + str(i))
continue
以上就完成了数据获取,有了基础数据,后面想怎么玩就看大家自己了。
下面有些很有用的Tushare与Python结合的教程,大家可以看看
后续还有很多有趣的代码,我会不定期分享出来,
第一篇文章,还望各位大神多多包涵。
网友评论