【无标题】

  1. 打开vscode ,新建一个 python文件。

  2. 安装websocket-client 包:sudo pip3 install websocket-client 或者自己去pip官网下载。

  3. 然后看websocket-client包怎么用。

    前辈们写过很多: 例如:很好的介绍如何基本地使用websocket-client
    本次数据比较简单,如何抓取看这个就行了。

  4. 我在写的过程汇总碰到过几次ssl的问题,后来就没了。

  5. 可以参考另一篇文章 如何解决ssl的问题

  6. 以下 是代码

以下是github地址

##13482198105@163.com
import websocket
import ssl
import gzip
import time
import datetime
import json
import demjson

def on_message(ws, message):  # 服务器有数据更新时,主动推送过来的数据
    # print(message)
    ret = gzip.decompress(message).decode("utf-8")
    if ('ping' in ret):
        return
    text = demjson.decode(ret)
    print(text)
    for index in range(len(text['tick']['data'])):
        print('ds='+str(text['tick']['data'][index]['ds']))
        print('price='+str(text['tick']['data'][index]['price']))
        print('side='+str(text['tick']['data'][index]['side']))
        print('vol='+str(text['tick']['data'][index]['vol']))
        print('###################分割线#############################')
    # print(text.keys())
    # print('amount='+str(text['tick']['data'][0]['amount']) )
    # print('ds='+str(text['tick']['data'][0]['ds']))
    # print('id='+str(text['tick']['data'][0]['id']))
    # print('price='+str(text['tick']['data'][0]['price']))
    # print('side='+str(text['tick']['data'][0]['side']))
    # print('ts='+str(text['tick']['data'][0]['ts']))
    # print('vol='+str(text['tick']['data'][0]['vol']))

# 程序报错时,就会触发on_error事件
def on_error(ws, error):
    print(error)

# 程序关闭后触发close时间
def on_close(ws):
    print("Connection closed ……")

# 连接到服务器之后就会触发on_open事件
def on_open(ws):
    # ws.send('{"event":"req","params":{"channel":"review"}}') #获取review数据
    # 获取btcusdt
    ws.send('{"event": "sub", "params": {"channel": "market_btcusdt_trade_ticker", "cb_id": "btcusdt", "top": 100}}')

if __name__ == "__main__":
    websocket.enableTrace(True)
    ws = websocket.WebSocketApp("wss://wspool.mpuuss.top/kline-api/ws",
                                on_message=on_message,
                                on_error=on_error,
                                on_close=on_close)
    ws.on_open = on_open
    ws.run_forever()

ws.send('{"event": "sub", "params": {"channel": "market_btcusdt_trade_ticker", "cb_id": "btcusdt", "top": 100}}')

这行数据是因为我要采集btc的交易数据,所以才这么写的。代码比较简单,也没有持久化处理。
如果需要采集其他数据的话,可以参照我上面的教程去找。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值