2.11.2025

kabusapi_board.py

finplot

HOME > kabusapi > kabusapi_board.py

時価情報・板情報の取得

import urllib.request
import json
import pprint

obj = { 'APIPassword': 'qwerty' }
json_data = json.dumps(obj).encode('utf8')

url = 'http://localhost:18080/kabusapi/token'
req = urllib.request.Request(url, json_data, method='POST')
req.add_header('Content-Type', 'application/json')

try:
    with urllib.request.urlopen(req) as res:
        print(res.status, res.reason)
        for header in res.getheaders():
            print(header)
        print()
        content = json.loads(res.read())
        pprint.pprint(content)
except urllib.error.HTTPError as e:
    print(e)
    content = json.loads(e.read())
    pprint.pprint(content)
except Exception as e:
    print(e)

info_key = []
info_value = []
for key, value in content.items():
 info_key.append(key)
 info_value.append(value)

Token = ""
print(len(info_key))
for i in range(len(info_key)):
 print(info_key[i],info_value[i])
 if info_key[i] == "Token" : Token = str(info_value[i])

print(Token)

url = 'http://localhost:18080/kabusapi/board/5401@1'
req = urllib.request.Request(url, method='GET')
req.add_header('Content-Type', 'application/json')
req.add_header('X-API-KEY', Token)

try:
    with urllib.request.urlopen(req) as res:
        print(res.status, res.reason)
        for header in res.getheaders():
            print(header)
        print()
        content = json.loads(res.read())
        pprint.pprint(content)
except urllib.error.HTTPError as e:
    print(e)
    content = json.loads(e.read())
    pprint.pprint(content)
except Exception as e:
    print(e)