小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

Python股票分析之股票數(shù)據(jù)采集循環(huán)完整代碼

 伊伊爸 2023-05-24 發(fā)布于湖北

目標(biāo):在中國的股票市場(chǎng)上盈利,每周都有單個(gè)股票盈利2%,月總盈利超過2%

計(jì)劃實(shí)現(xiàn)方式:Pycharm + Anaconda3 + Python3 + Django + AKShare + MongoDB

目前采用的實(shí)現(xiàn)方式:Pycharm + Anaconda3 + Python3 + Flask + AKShare

以后可能會(huì)用到MongoDB , SQLAlchemy ,baostock ,Tushare

機(jī)器學(xué)習(xí) 會(huì)在以后的實(shí)踐中逐步用到。

實(shí)現(xiàn)方式

上一篇文章寫了采集的方法。本篇文章包含完整代碼和調(diào)用代碼。

采用后臺(tái)執(zhí)行的方式。

gupiao.py 如下:

import akshare as akimport threadingimport datetimeimport osfrom threading import Threaddef get_start(): start_stock_daily()# 這里就是核心了,調(diào)用這部分就會(huì)自動(dòng)下載 深圳A股 的所有股票的歷史記錄def start_stock_daily(indicator='A股列表', folder='sz_a', prefix='sz'): file_path = 'D:/work/data/' + folder + '/' file_path_name = get_sz_a(file_path, indicator) print(file_path_name) num = 0 with open(file_path_name, 'r', encoding='UTF-8') as stock_lines: for stock_line in stock_lines.readlines(): num = num + 1 if num == 1: continue stock_line_arr = stock_line.split('|') symbol = prefix + stock_line_arr[5] print('股票信息=' + symbol + '||' + stock_line_arr[6]) stock_csv = get_stock_daily(file_path, symbol) print('stock_csv=' + stock_csv)# 獲得深圳主板A股列表,每天獲取一次不重復(fù)獲取# file_path 需要全路徑,以 | 進(jìn)行間隔# indicator 可選參數(shù) 'A股列表', 'B股列表', 'AB股列表', '上市公司列表', '主板', '中小企業(yè)板', '創(chuàng)業(yè)板'def get_sz_a(file_path, indicator='A股列表'): today = datetime.datetime.today() file_name = 'sz_a_' + today.strftime('%Y%m%d') + '.csv' if not os.path.exists(file_path): # 如果路徑不存在則創(chuàng)建 os.makedirs(file_path) if os.path.exists(file_path + file_name): print('今日已經(jīng)獲取無需再次獲取,' + today.strftime('%Y%m%d')) return file_path + file_name stock_info_sz_df = ak.stock_info_sz_name_code(indicator=indicator) stock_info_sz_df.to_csv(file_path + file_name, sep='|') print('獲取深圳主板A股列表并存儲(chǔ)為CSV!' + today.strftime('%Y%m%d')) return file_path + file_name# 根據(jù)股票代碼獲取股票歷史數(shù)據(jù)# symbol 股票代碼 需要前綴 sh 上海 sz 深圳,例如:sz300846def get_stock_daily(file_path, symbol): stock_zh_a_daily_hfq_df = ak.stock_zh_a_daily(symbol=symbol) # 返回不復(fù)權(quán)的數(shù)據(jù) file_name = symbol + '.csv' stock_zh_a_daily_hfq_df.to_csv(file_path + file_name) return file_path + file_name

調(diào)用下載的部分,注意命名我隨便寫的,請(qǐng)根據(jù)情況自己修改,app.py 如下:

from flask import Flaskimport akshare as akimport gupiaoimport datetimeimport osfrom concurrent.futures import ThreadPoolExecutorimport timeexecutor = ThreadPoolExecutor(2)app = Flask(__name__)@app.route('/test_thread')def test_thread():    executor.submit(gupiao.get_start)    return 'thread is running at  background !!!'if __name__ == '__main__':    app.run()

使用 Flask 框架,生成一個(gè)項(xiàng)目,然后創(chuàng)建一個(gè)gupiao.py 在 app.py 中調(diào)用,然后運(yùn)行項(xiàng)目。

在瀏覽器里面訪問
http://127.0.0.1:5000/test_thread

就能在后臺(tái)看到如圖的畫面,整個(gè)深圳A股的下載時(shí)間大約在2個(gè)小時(shí)到3個(gè)小時(shí)。

文章圖片1

股票歷史數(shù)據(jù)

下載到本地如圖

文章圖片2

股票歷史數(shù)據(jù)

爬取數(shù)據(jù)部分就完成了,之后就是篩選了。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多