Как сохранить данные из веб-сокета? - PullRequest
0 голосов
/ 27 апреля 2018

Я успешно подписался на веб-сокет и получаю данные. Я жду, чтобы сохранить свои данные, чтобы я мог использовать их во фрейме данных для дальнейшего анализа.

Мой код пока только возвращает пустые списки и кадры данных.

Код: ВОЗВРАЩАЕТ ПУСТОЙ СПИСОК

wsClient = GDAX.WebsocketClient(url="wss://ws-feed.gdax.com", products="LTC-USD")

df1 = []

for i in wsClient.start():
    df1 = df1.append(wsClient.start())

Код: ВОЗВРАЩАЕТ ПУСТОЙ СПИСОК И РАМКИ ДАННЫХ

wsClient = GDAX.WebsocketClient(url="wss://ws-feed.gdax.com", products="LTC-USD")


dfs = []
for i in wsClient.start():
    dfs.append(wsClient.start())
df1 = pd.concat(dfs)

1 Ответ

0 голосов
/ 27 апреля 2018

Вам нужно реализовать свой собственный метод on_message, чтобы получить информацию websocket:

import time
import gdax
import pandas as pd

results = []

class myWebsocketClient(gdax.WebsocketClient):
    def on_open(self):
        self.url = "wss://ws-feed.gdax.com/"
        self.products = ["LTC-USD"]

    def on_message(self, msg):
        if 'price' in msg and 'type' in msg:
            results.append(msg['price'])

wsClient = myWebsocketClient()
wsClient.start()

time.sleep(5)

df = pd.DataFrame(results, columns = ["Price"])
print(df.head())
wsClient.close()

Это будет работать в течение 5 секунд, и выводит:

          Price
0  153.13000000
1  151.14000000
2  140.52000000
3  140.52000000
4  152.62000000

-- Socket Closed --
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...