U 채널 구독 요청 » 이력 » 버전 1
이태훈, 2025/02/10 02:28
| 1 | 1 | 이태훈 | h1. 채널 구독 요청 |
|---|---|---|---|
| 2 | |||
| 3 | h3. 소스코드 |
||
| 4 | |||
| 5 | <pre> |
||
| 6 | import websockets |
||
| 7 | import asyncio |
||
| 8 | import json |
||
| 9 | |||
| 10 | async def upbit_ws_client(): |
||
| 11 | uri = "wss://api.upbit.com/websocket/v1" |
||
| 12 | |||
| 13 | async with websockets.connect(uri) as websocket: |
||
| 14 | subscribe_fmt = [ |
||
| 15 | {"ticket":"test"}, |
||
| 16 | { |
||
| 17 | "type":"ticker", |
||
| 18 | "codes":["KRW-BTC"], |
||
| 19 | "isOnlyRealtime":True |
||
| 20 | }, |
||
| 21 | {"format":"SIMPLE"} |
||
| 22 | ] |
||
| 23 | subscribe_data = json.dumps(subscribe_fmt) |
||
| 24 | await websocket.send(subscribe_data) |
||
| 25 | |||
| 26 | while True: |
||
| 27 | data = await websocket.recv() |
||
| 28 | data = json.loads(data) |
||
| 29 | print(data) |
||
| 30 | |||
| 31 | async def main(): |
||
| 32 | await upbit_ws_client() |
||
| 33 | |||
| 34 | asyncio.run(main()) |
||
| 35 | </pre> |
||
| 36 | |||
| 37 | h3. 결과 |
||
| 38 | |||
| 39 | <pre> |
||
| 40 | {'ty': 'ticker', 'cd': 'KRW-BTC', 'op': 147602000.0, 'hp': 148455000.0, 'lp': 146000000.0, 'tp': 146325000.0, 'pcp': 147579000.0, 'atp': 54270911286.08917, 'c': 'FALL', 'cp': 1254000.0, 'scp': -1254000.0, 'cr': 0.0084971439, 'scr': -0.0084971439, 'ab': 'ASK', 'tv': 0.02775628, 'atv': 369.41976785, 'tdt': '20250210', 'ttm': '022738', 'ttms': 1739154458556, 'aav': 184.43559184, 'abv': 184.98417601, 'h52wp': 163325000.0, 'h52wdt': '2025-01-20', 'l52wp': 65800000.0, 'l52wdt': '2024-02-13', 'ms': 'ACTIVE', 'its': False, 'dd': None, 'mw': 'NONE', 'tms': 1739154458588, 'atp24h': 260637316601.1902, 'atv24h': 1765.83185953, 'st': 'REALTIME'} |
||
| 41 | {'ty': 'ticker', 'cd': 'KRW-BTC', 'op': 147602000.0, 'hp': 148455000.0, 'lp': 146000000.0, 'tp': 146326000.0, 'pcp': 147579000.0, 'atp': 54271911779.87135, 'c': 'FALL', 'cp': 1253000.0, 'scp': -1253000.0, 'cr': 0.0084903679, 'scr': -0.0084903679, 'ab': 'BID', 'tv': 0.00683743, 'atv': 369.42660528, 'tdt': '20250210', 'ttm': '022738', 'ttms': 1739154458889, 'aav': 184.43559184, 'abv': 184.99101344, 'h52wp': 163325000.0, 'h52wdt': '2025-01-20', 'l52wp': 65800000.0, 'l52wdt': '2024-02-13', 'ms': 'ACTIVE', 'its': False, 'dd': None, 'mw': 'NONE', 'tms': 1739154458930, 'atp24h': 260637316601.1902, 'atv24h': 1765.83185953, 'st': 'REALTIME'} |
||
| 42 | {'ty': 'ticker', 'cd': 'KRW-BTC', 'op': 147602000.0, 'hp': 148455000.0, 'lp': 146000000.0, 'tp': 146326000.0, 'pcp': 147579000.0, 'atp': 54272411778.73987, 'c': 'FALL', 'cp': 1253000.0, 'scp': -1253000.0, 'cr': 0.0084903679, 'scr': -0.0084903679, 'ab': 'BID', 'tv': 0.00341702, 'atv': 369.4300223, 'tdt': '20250210', 'ttm': '022738', 'ttms': 1739154458905, 'aav': 184.43559184, 'abv': 184.99443046, 'h52wp': 163325000.0, 'h52wdt': '2025-01-20', 'l52wp': 65800000.0, 'l52wdt': '2024-02-13', 'ms': 'ACTIVE', 'its': False, 'dd': None, 'mw': 'NONE', 'tms': 1739154458950, 'atp24h': 260637316601.1902, 'atv24h': 1765.83185953, 'st': 'REALTIME'} |
||
| 43 | {'ty': 'ticker', 'cd': 'KRW-BTC', 'op': 147602000.0, 'hp': 148455000.0, 'lp': 146000000.0, 'tp': 146326000.0, 'pcp': 147579000.0, 'atp': 54273411278.96851, 'c': 'FALL', 'cp': 1253000.0, 'scp': -1253000.0, 'cr': 0.0084903679, 'scr': -0.0084903679, 'ab': 'BID', 'tv': 0.00683064, 'atv': 369.43685294, 'tdt': '20250210', 'ttm': '022738', 'ttms': 1739154458982, 'aav': 184.43559184, 'abv': 185.0012611, 'h52wp': 163325000.0, 'h52wdt': '2025-01-20', 'l52wp': 65800000.0, 'l52wdt': '2024-02-13', 'ms': 'ACTIVE', 'its': False, 'dd': None, 'mw': 'NONE', 'tms': 1739154459031, 'atp24h': 260637316601.1902, 'atv24h': 1765.83185953, 'st': 'REALTIME'} |
||
| 44 | {'ty': 'ticker', 'cd': 'KRW-BTC', 'op': 147602000.0, 'hp': 148455000.0, 'lp': 146000000.0, 'tp': 146326000.0, 'pcp': 147579000.0, 'atp': 54273441278.72503, 'c': 'FALL', 'cp': 1253000.0, 'scp': -1253000.0, 'cr': 0.0084903679, 'scr': -0.0084903679, 'ab': 'BID', 'tv': 0.00020502, 'atv': 369.43705796, 'tdt': '20250210', 'ttm': '022740', 'ttms': 1739154460213, 'aav': 184.43559184, 'abv': 185.00146612, 'h52wp': 163325000.0, 'h52wdt': '2025-01-20', 'l52wp': 65800000.0, 'l52wdt': '2024-02-13', 'ms': 'ACTIVE', 'its': False, 'dd': None, 'mw': 'NONE', 'tms': 1739154460257, 'atp24h': 260637316601.1902, 'atv24h': 1765.83185953, 'st': 'REALTIME'} |
||
| 45 | {'ty': 'ticker', 'cd': 'KRW-BTC', 'op': 147602000.0, 'hp': 148455000.0, 'lp': 146000000.0, 'tp': 146325000.0, 'pcp': 147579000.0, 'atp': 54273541280.15653, 'c': 'FALL', 'cp': 1254000.0, 'scp': -1254000.0, 'cr': 0.0084971439, 'scr': -0.0084971439, 'ab': 'ASK', 'tv': 0.00068342, 'atv': 369.43774138, 'tdt': '20250210', 'ttm': '022741', 'ttms': 1739154461414, 'aav': 184.43627526, 'abv': 185.00146612, 'h52wp': 163325000.0, 'h52wdt': '2025-01-20', 'l52wp': 65800000.0, 'l52wdt': '2024-02-13', 'ms': 'ACTIVE', 'its': False, 'dd': None, 'mw': 'NONE', 'tms': 1739154461461, 'atp24h': 260637316601.1902, 'atv24h': 1765.83185953, 'st': 'REALTIME'} |
||
| 46 | {'ty': 'ticker', 'cd': 'KRW-BTC', 'op': 147602000.0, 'hp': 148455000.0, 'lp': 146000000.0, 'tp': 146325000.0, 'pcp': 147579000.0, 'atp': 54276847121.86603, 'c': 'FALL', 'cp': 1254000.0, 'scp': -1254000.0, 'cr': 0.0084971439, 'scr': -0.0084971439, 'ab': 'ASK', 'tv': 0.02259246, 'atv': 369.46033384, 'tdt': '20250210', 'ttm': '022741', 'ttms': 1739154461904, 'aav': 184.45886772, 'abv': 185.00146612, 'h52wp': 163325000.0, 'h52wdt': '2025-01-20', 'l52wp': 65800000.0, 'l52wdt': '2024-02-13', 'ms': 'ACTIVE', 'its': False, 'dd': None, 'mw': 'NONE', 'tms': 1739154461944, 'atp24h': 260637316601.1902, 'atv24h': 1765.83185953, 'st': 'REALTIME'} |
||
| 47 | {'ty': 'ticker', 'cd': 'KRW-BTC', 'op': 147602000.0, 'hp': 148455000.0, 'lp': 146000000.0, 'tp': 146325000.0, 'pcp': 147579000.0, 'atp': 54277847121.54853, 'c': 'FALL', 'cp': 1254000.0, 'scp': -1254000.0, 'cr': 0.0084971439, 'scr': -0.0084971439, 'ab': 'ASK', 'tv': 0.0068341, 'atv': 369.46716794, 'tdt': '20250210', 'ttm': '022741', 'ttms': 1739154461920, 'aav': 184.46570182, 'abv': 185.00146612, 'h52wp': 163325000.0, 'h52wdt': '2025-01-20', 'l52wp': 65800000.0, 'l52wdt': '2024-02-13', 'ms': 'ACTIVE', 'its': False, 'dd': None, 'mw': 'NONE', 'tms': 1739154461963, 'atp24h': 260637316601.1902, 'atv24h': 1765.83185953, 'st': 'REALTIME'} |
||
| 48 | {'ty': 'ticker', 'cd': 'KRW-BTC', 'op': 147602000.0, 'hp': 148455000.0, 'lp': 146000000.0, 'tp': 146326000.0, 'pcp': 147579000.0, 'atp': 54277865867.37239, 'c': 'FALL', 'cp': 1253000.0, 'scp': -1253000.0, 'cr': 0.0084903679, 'scr': -0.0084903679, 'ab': 'BID', 'tv': 0.00012811, 'atv': 369.46729605, 'tdt': '20250210', 'ttm': '022743', 'ttms': 1739154463102, 'aav': 184.46570182, 'abv': 185.00159423, 'h52wp': 163325000.0, 'h52wdt': '2025-01-20', 'l52wp': 65800000.0, 'l52wdt': '2024-02-13', 'ms': 'ACTIVE', 'its': False, 'dd': None, 'mw': 'NONE', 'tms': 1739154463147, 'atp24h': 260637316601.1902, 'atv24h': 1765.83185953, 'st': 'REALTIME'} |
||
| 49 | {'ty': 'ticker', 'cd': 'KRW-BTC', 'op': 147602000.0, 'hp': 148455000.0, 'lp': 146000000.0, 'tp': 146326000.0, 'pcp': 147579000.0, 'atp': 54277875867.29123, 'c': 'FALL', 'cp': 1253000.0, 'scp': -1253000.0, 'cr': 0.0084903679, 'scr': -0.0084903679, 'ab': 'BID', 'tv': 6.834e-05, 'atv': 369.46736439, 'tdt': '20250210', 'ttm': '022743', 'ttms': 1739154463161, 'aav': 184.46570182, 'abv': 185.00166257, 'h52wp': 163325000.0, 'h52wdt': '2025-01-20', 'l52wp': 65800000.0, 'l52wdt': '2024-02-13', 'ms': 'ACTIVE', 'its': False, 'dd': None, 'mw': 'NONE', 'tms': 1739154463206, 'atp24h': 260637316601.1902, 'atv24h': 1765.83185953, 'st': 'REALTIME'} |
||
| 50 | . |
||
| 51 | . |
||
| 52 | . |
||
| 53 | </pre> |