株のシステムトレードをしよう - 1から始める株自動取引システムの作り方

株式をコンピュータに売買させる仕組みを少しずつ作っていきます。できあがってから公開ではなく、書いたら途中でも記事として即掲載して、後から固定ページにして体裁を整える方式で進めていきます。

メインのスクリプトを調整◆KABU+のCSVデータをダウンロードしてDataFrameに変換する その7

こんな感じで、gzip付きでダウンロードしてくることができる。 なお、ShiftJISでデコードしたことにより、openで保存する際には UTF-8 にて保存できる。

import os
import requests
from requests.auth import HTTPBasicAuth
import sys
from pathlib import Path

# WebDAV サーバアドレス
WEBDAV_SERVER_ADDRESS = os.environ.get('WEBDAV_SERVER_ADDRESS')
KABU_PLUS_ID = os.environ.get('KABU_PLUS_ID')
KABU_PLUS_PW = os.environ.get('KABU_PLUS_PW')
OUTPUT_PATH = os.environ.get('OUTPUT_PATH', '.')

ENDPOINT = os.environ.get('ENDPOINT')
UA = f'Auto sync program executed by {KABU_PLUS_ID}'
AUTH = HTTPBasicAuth(KABU_PLUS_ID, KABU_PLUS_PW)
HEADERS = {
    'User-Agent': UA,
    'Accept-Encoding': 'gzip',
}

def main():
    resp = requests.get(ENDPOINT, auth=AUTH)
    resp.encoding = resp.apparent_encoding
    if resp.status_code == 200:
        csv = resp.content.decode('s_jis')
        path = Path(OUTPUT_PATH) / 'current.csv'
        with open(str(path), 'w') as f:
            f.write(csv)
            sys.exit(0)

    else:
        from pprint import PrettyPrinter
        pp = PrettyPrinter()
        print(f'[{resp.status_code}]')
        pp.pprint(resp)
        sys.exit(1)

main()

(C) 2020 dogwood008 禁無断転載 不許複製 Reprinting, reproducing are prohibited.