#### 我们利用2个提供数据获取社区来达到目的 - [Tushare](https://tushare.pro)金融大数据开放社区(需要注册) - [证券宝](http://baostock.com)是一个免费、开源的证券数据平台(无需注册)。 #### 下面上python代码 > 安装下面模块应该不必多说 > 创建数据库gupiao > 运行下面代码就会得到gp_list_info这张包含所有股票基本信息的表(你也可以存成文件,那就不会要pymysql,sqlalchemy模块) > 注意事项:如果安装tushare后,运行报错bs4什么的,你要安装这个模块beautifulsoup4 ```` #Tushare金融大数据开放社区 import tushare as ts #操作数据库模块 import pymysql from sqlalchemy import create_engine ts.set_token('你的token') pro = ts.pro_api() #查询当前所有正常上市交易的股票列表 data = pro.stock_basic(exchange='', list_status='L', fields='ts_code,symbol,name,area,industry,fullname,enname,market,exchange,curr_type,list_status,list_date,delist_date,is_hs') #连接数据库 engine = create_engine('mysql+pymysql://root:@localhost:3306/gupiao?charset=utf8') # 插入数据 data.to_sql('gp_list_info',con=engine,if_exists='append',index=False) ```` > 接下来我们试着获取一下baostock提供的数据(用这个主要是没限制,但我没找到获取所有股票列表的接口,所以用上面那个获取一下) > 获取【季频盈利能力】 ```` #证券宝www.baostock.com是一个免费、开源的证券数据平台(无需注册)。 import baostock as bs import pandas as pd import pymysql from sqlalchemy import create_engine import time; # 登陆系统 lg = bs.login() #链接数据库 engine = create_engine('mysql+pymysql://root:@localhost:3306/gupiao') #获取股票代码列表 sql = ''' select ts_code from gp_list_info; ''' df = pd.read_sql_query(sql, engine) # 查询季频估值指标盈利能力 year = [2007,2008,2009,2010,2011,2012,2013,2014,2015,2016,2017,2018] quarter = [1,2,3,4] for index,row in df.iterrows(): #这里由于2个编码不一致,转换一下 code = row['ts_code'].split('.') code = code[1]+'.'+code[0] for i in range(0,len(year)): for j in range(0,4): rs_profit = bs.query_profit_data(code=code, year=year[i], quarter=quarter[j]) profit_list = [] while (rs_profit.error_code == '0') & rs_profit.next(): rs_profit.fields.append('year') rs_profit.fields.append('quarter') rs_profit.fields.append('ctime') row_data = rs_profit.get_row_data() row_data.append(year[i]) row_data.append(quarter[j]) row_data.append(int(time.time())) profit_list.append(row_data) result_profit = pd.DataFrame(profit_list, columns=rs_profit.fields) # 插入数据 result_profit.to_sql('gp_profit',con=engine,if_exists='append',index=True) print(index) # 登出系统 bs.logout() ```` > OK,运行完后就可以得到2007-2018所有季度的盈利能力数据了
采集股票数据第一篇
原文作者:lnews
原文地址: https://blog.csdn.net/qq_29065191/article/details/88538225
本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
原文地址: https://blog.csdn.net/qq_29065191/article/details/88538225
本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。