多线程数据下载(akshare)
import akshare as akimport pandas as pd
from multiprocessing.dummy import Pool as ThreadPool
import datetime
import time
def get_hs300_stock_codes():
'''
获取沪深300股票代码列表
:return:
'''
hs300=ak.index_stock_cons_sina("000300")
codes=hs300['code']
codes=codes.tolist()
return codes
def dwon_data(code, period='daily',from_date='20170301', to_date=datetime.date.today().strftime('%Y-%m-%d'),fq='qfq'):
'''
下载沪深300成分股历史数据
:param symbol: 股票代码,可以在 ak.stock_zh_a_spot_em() 中获取
:param period:choice of {'daily', 'weekly', 'monthly'}
:param from_date:开始查询的日期
:param to_date:结束查询的日期
:param fq:复权,默认返回不复权的数据; qfq: 返回前复权后的数据; hfq: 返回后复权后的数据
:return:
'''
df = ak.stock_zh_a_hist(symbol=code, period=period, start_date=from_date, end_date=to_date,
adjust=fq)
# 获取
# df=df.loc[:,['日期','开盘','最高','最低','收盘','成交量']]
# df.columns=['datetime','open','high','low','close','volume']
print(df.head())
# # 构建保存路径与文件名
# path_file = 'E:\datas\stock\\hs300\data_suorce\%s.csv' % (code)
#
# # 保存下载数据
# df.to_csv(path_file) # 保存文件
# print('已导出%s' % (code))
if __name__ == '__main__':
start_time = time.time()
# 获取沪深300代码列表
code = get_hs300_stock_codes()
# 创建线程池,添加10个线程
with ThreadPool(10) as pool:
pool.map_async(dwon_data, code) #加载线程
pool.close() #
pool.join()
end_time = time.time()
print('程序运行时间:{:.2f}秒'.format(end_time - start_time))
郑重声明: 本文只是个人(本单位)复盘记录,文内提到的所有信息仅为分享和盘面结构梳理,不构成投资或投机建议,买卖自行决策,结果自己负责。
购买点数和充值VIP全部支持支付宝或微信扫码支付,登陆会员中心侧面板>>财务选择相关操作即可。
在线预览主旨方便移动设备使用和临时查看,直观浏览,对需要的文章再下载,预览了的文件且能秒速下载。
阅读与下载说明
1.『会员阅览(扣点)』为普通会员扣点(1元=1点)通道,已浏览过的只扣一次。
2.『VIP阅览 (VIP)』 为VIP特权通道,充值成VIP用户直接无任何限制高速在线阅览,VIP会员分包月,包年和终身VIP三种。
3.『免费阅览(免费)』为未付费会员通道,可无任何限制免费阅览该资源,推荐购买点数或充值VIP,以获取超值资源。
4. 阅览的资讯文件过大,根据您的网速而会有相应的延迟,请耐心等待;如果提示其他问题请联系客户解决。
购买点数和充值VIP全部支持支付宝或微信扫码支付,登陆会员中心侧面板>>财务选择相关操作即可。
在线预览主旨方便移动设备使用和临时查看,直观浏览,对需要的文章再下载,预览了的文件且能秒速下载。