一行程式抓取股票日資料

在之前的EP1中有介紹如何抓取股票的日資料,這邊我們也將其包裝成一個套件包,方便大家直接調用使用。

因為證交所會擋爬蟲的關係,所以抓取時間會拉的比較長,這邊會提供持續抓取的功能,每抓50天的資料,程式都會把結果存下來,方便大家把所有的歷史資料抓下來,之後要更新也可以執行同一個指令即可。

程式的原始碼在這邊

安裝

pip install twstock_downloader

使用

這邊套件只接受一個引數(filepath),指定檔案存取的位置,沒有給定便會存在執行程式所待的資料夾,並從2004-02-11開始抓取(證交所的最早紀錄),如果檔案已經存在,則會讀取檔案,取得檔案目前抓到的日期,從那天開始更新。

twstock_downloader.get(filepath='C:\Users\Qin\workspace\twstock_downloader\twstock_downloader\result.json')

存出來的檔案是一個json檔案,基本上為日期對應每日的股價的資料格式,可用下面的程式碼還原為日期(字串)對應pandas.DataFrame的格式

with open('result.json', 'r', encoding='utf-8') as f:
    test_data = json.load(f)

test_data.pop('current', None)
test_data = {key:pd.read_json(test_data[key]) for key in test_data.keys()} 

其中,current這個key是用來告訴程式要從那邊開始抓起,如果不想從2004-02-11開始抓取,可以先產生一個空的json的檔案,裡面為{‘current’:’想要的日期(例如:20200811)’}

Share

4 thoughts on “一行程式抓取股票日資料

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *