Help us understand the problem. What is going on with this article?

kabuステーション®API - PUSH API用にPythonラッパーをアップデートした

概要

python-kabusapi という kabuステーションAPI用Pythonラッパーを作成したが、REST APIのみの対応であり、PUSH API によるwebsocket配信には未対応であった。

そのため、「kabuステーション®APIのWebsocketをPythonで受ける」のようなコードを書く必要があったが、初心者にとって asyncio 等の概念が煩雑であるため、そのあたりを排除できるよう、ライブラリをアップデートした。

環境

  • Windows 10
  • Python 3.8.5 ( Microsoft Store からインストール )

追加パッケージ

  • websockets
  • requests

コード

import kabusapi

url = "localhost"
port = "18081"  # 検証用, 本番用は18080

# 初期設定 PUSH配信にトークン・パスワードは不要
api = kabusapi.Context(url, port,)

# 受信用関数 情報が受信される度にここが呼ばれる
@api.websocket
def recieve(msg):
    # ここで処理を行う msgはdict形式である。
    print("{} {} {}".format(
        msg['Symbol'],
        msg['SymbolName'],
        msg['CurrentPrice'],
    ))

# 受信開始
api.websocket.run()
shirasublue
うなぎのぼりを夢見て
https://shirasu.blue
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away